Скрипт движения влево и вправо не работаетC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Скрипт движения влево и вправо не работает

Сообщение Anonymous »

Я создаю очень простой 2D-платформер и создаю суперпростого врага, который определяет, есть ли перед ним стена, и, если она есть, меняет направление. Но когда я запускаю игру, через 1 секунду для 1-го рейкаста враг перестает двигаться.
Я пробовал ОЧЕНЬ разное, думаю это типа 4-я версия скрипта.
private enum Moving
{
MovingToRight,
MovingToLeft,
Idle
}

private void Update()
{
timer += Time.deltaTime;

if (timer > 1f)
{
Debug.Log("Raycast fired!");
raycastHitLeft = Physics2D.Raycast(transform.position, new Vector3(-9, -3.5f, 0), 2);
raycastHitRight = Physics2D.Raycast(transform.position, new Vector3(9, -3.5f, 0), 2);
timer = 0;
}

if (raycastHitRight.collider != null)
{
Debug.Log("Right Raycast Not Hitting Anything, Should Move!");
moving = Moving.MovingToRight;
}
else
{
moving = Moving.Idle;
}

if (raycastHitLeft.collider != null)
{
Debug.Log("Left Raycast Not Hitting Anything, Should Move!");
moving = Moving.MovingToLeft;
}
else
{
moving = Moving.Idle;
}

while (moving == Moving.MovingToRight && moving != Moving.MovingToLeft)
{
transform.position += new Vector3(1, 0, 0) * Time.deltaTime;
return;
}

while (moving == Moving.MovingToLeft && moving != Moving.MovingToRight)
{
transform.position += new Vector3(-1, 0, 0) * Time.deltaTime;
return;
}

while (moving == Moving.MovingToRight && moving == Moving.MovingToLeft)
{
//If both true, move to right
transform.position += new Vector3(1, 0, 0) * Time.deltaTime;
return;
}
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... ot-working
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»