![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2011
Сообщений: 28
|
ребята,
помогите пожалуйста делаю такую игру http://www.king.com/intermission_vir...89&action=play все получается, только не знаю как сделать движение врагов. private function handleCreatures():void { var heroPoint:Point = new Point(hero.x, hero.y); for (var i:int = 0; i < enemies.length; i++) { var e:Enemy = enemies[i] as Enemy; var ltg:Point = gameContainer.localToGlobal(new Point(e.x, e.y)) as Point; if (isOnStage(ltg)) { var enemyPoint:Point = new Point(e.x, e.y); var diffPoint:Point = heroPoint.subtract(enemyPoint); diffPoint.normalize(1); tryToMoveActor(e, diffPoint.x, diffPoint.y, 1); } } } private function tryToMoveActor(e:Enemy, xV:Number, yV:Number, speed:Number):void { /// узнай новую позицию var nextTablePos:Point = new Point(); nextTablePos.x = Math.floor((e.x + xV * speed) / MainSettings.CELL_SIZE); nextTablePos.y = Math.floor((e.y + yV * speed) / MainSettings.CELL_SIZE); /// если кто то уже занимает место if ((table[nextTablePos.y] && table[nextTablePos.y][nextTablePos.x] is IActor)) { if (IActor(table[nextTablePos.y][nextTablePos.x]) != e) { return; } } e.x += xV * speed; e.y += yV * speed; e.updateTablePos(); putItemToTable(e); removeHeroFromTable(e); } private function removeItemFromTable(actor:IActor):void { if (table[actor.yy] && table[actor.yy][actor.xx] == actor) { table[actor.yy][actor.xx] = ""; } } двигаются в правильном направлении, но стoлкиваются друг с другом Последний раз редактировалось hellopaso; 19.10.2011 в 00:45. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|