Как я мог заставить эту функцию спать в течение определенного количества времени? - PullRequest
0 голосов
/ 06 февраля 2012

Так вот моя проблема.У меня есть код, который вызывает функцию всякий раз, когда мой игрок находится над последним пунктом назначения в массиве * pathfinding ...

public function rakeSoil(e:Event):void {

     var:Cell = Grid.getCellAt(player.x/50, player.y/50);

     if (cell.isWalkable == false) {
         return;
     else {

     //here is where i want to do the sleep code so this doesnt happen straight away? If possible.

     target.sprites = [grass];

     } 
 }

спасибо, ребята:)

1 Ответ

0 голосов
/ 06 февраля 2012

Как правило, «правильный» способ отложить выполнение чего-либо - это использовать Таймер . Взлом какой-либо функции сна может вызвать проблемы, поскольку Flash работает в одном потоке, поэтому вы не сможете больше ничего делать во время работы вашей функции, включая обновление экрана (при этом ваша игра будет выглядеть так, как будто она аварийно завершилась) или хотя бы начал отставать).

Если вы абсолютно уверены, что хотите это сделать, вы можете вызвать функцию getTimer () в цикле, чтобы узнать, прошло ли определенное количество миллисекунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...