2016-03-15 2 views
0

Я знаю, что это должен быть простой вопрос для кого-то, у кого есть опыт, но я не могу обвести вокруг него голову. Я работаю над чем-то в наборе спрайтов, и я хочу отслеживать четность и менять текстуру спрайта на анимацию, когда это происходит.Монитор для события без повторения с использованием набора Sprite

Событие, когда игрок достигает определенной позиции Y. Я понимаю, как изменить его, и код, чтобы следить за ним. Проблема - единственное место, которое я понимаю, чтобы постоянно искать, что это происходит в цикле обновления.

Это то, что у меня есть в цикле обновления.

if (thePlayer.position.y >= -216){ 

      //be specific sprite 

     } else { 

      //be specific animation 
} 

После того, как игрок reachers в < -216 точку анимации делает курок, но никогда не покидает кадр 1, потому что его всегда перекручивание назад, чтобы начать.

Использование цикла обновления работало для меня до этой точки, потому что игровой спрайт был статическим изображением.

Моя мысль заключалась в вызове функции, когда она достигает этой точки, но снова продолжает называть эту функцию и никогда не покидает первый кадр анимации.

Опять же, я думаю, что мне не хватает чего-то здесь очень легко, но любая помощь будет высоко оценена.

ответ

0

Вам нужно будет добавить Bool для отслеживания, если вы в настоящее время используете анимацию.

Добавить как свойство к классу

var runningAnimation = false 

Затем измените условия для использования Bool

if (thePlayer.position.y >= -216) { 
    runningAnimation = false 
    //be specific sprite 
} else if (!runningAnimation) { 
    runningAnimation = true 
    //be specific animation 
} 
+0

работал как шарм. Я пробовал что-то подобное, но, наверное, я пропустил это. Большое спасибо за помощь. – OneFour