Я делаю 2D-игру в Unity и уже несколько месяцев не прикасаюсь к игровому движку, но я нашел сохраненный мной сценарий движения, который я написал некоторое время назад, я все настроил, и когда я собирался попробовать, мой прыжок от стены был отключен. Вместо того, чтобы просто подниматься по диагонали вверх и в стороны, как при каждом прыжке со стены, я просто ухожу в сторону на очень непредвиденной высокой скорости. Я правда не могу вспомнить, работал ли тогда этот скрипт, но не думаю, что стал бы сохранять что-то, что не работает
private Vector2 wallJumpingPower = new Vector2(10f, 20f);
private float wallJumpDirection;
if (IsWalled()) //the isWalled() method is working
{
wallJumpDirection = -transform.localScale.x;
WallJump();
wallSlide();
}
private void WallJump()
{
if (Input.GetButtonDown("Jump"))
{
rb.velocity = new Vector2(wallJumpingPower.x * wallJumpDirection, wallJumpingPower.y);
}
}
private void wallSlide()
{
rb.velocity = new Vector2(rb.velocity.x, -0.4f); //this is the wall slide and it works
if (hasDoubleJumped)
{
canDoubleJump = true; //this is irrelevant
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... t-know-why
Мой персонаж не делает того, чего я от него ожидал, и я не знаю, почему ⇐ C#
Место общения программистов C#
1722100844
Anonymous
Я делаю 2D-игру в Unity и уже несколько месяцев не прикасаюсь к игровому движку, но я нашел сохраненный мной сценарий движения, который я написал некоторое время назад, я все настроил, и когда я собирался попробовать, мой прыжок от стены был отключен. Вместо того, чтобы просто подниматься по диагонали вверх и в стороны, как при каждом прыжке со стены, я просто ухожу в сторону на очень непредвиденной высокой скорости. Я правда не могу вспомнить, работал ли тогда этот скрипт, но не думаю, что стал бы сохранять что-то, что не работает
private Vector2 wallJumpingPower = new Vector2(10f, 20f);
private float wallJumpDirection;
if (IsWalled()) //the isWalled() method is working
{
wallJumpDirection = -transform.localScale.x;
WallJump();
wallSlide();
}
private void WallJump()
{
if (Input.GetButtonDown("Jump"))
{
rb.velocity = new Vector2(wallJumpingPower.x * wallJumpDirection, wallJumpingPower.y);
}
}
private void wallSlide()
{
rb.velocity = new Vector2(rb.velocity.x, -0.4f); //this is the wall slide and it works
if (hasDoubleJumped)
{
canDoubleJump = true; //this is irrelevant
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78799780/my-character-does-not-do-what-i-expected-him-to-do-and-i-dont-know-why[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия