Так что я делаю этот проект для небольшого курса, и я столкнулся с некоторыми проблемами. По сути, у меня есть простая платформенная игра, в которой враги, которые находятся в массиве, помещаются вручную в зону действия, и когда игрок входит в указанную зону, враг реагирует, ускоряя направление игрока. Через несколько часов мне удалось заставить это работать, но теперь, когда игрок умирает, враги, которые раньше были сброшены в исходное положение, теперь случайным образом сбрасываются на сцене, и если игрок находился рядом с одним из них, тот сбрасывал вместе с игроком (рядом с ним в начале уровня).
вот код (на португальском, поэтому я постараюсь объяснить как можно больше)
вот как выглядит код перезапуска противника (упрощенно):
var cordX:int=this.x;
var cordY:int=this.y;
function restart(){
this.x=cordX;
this.y=cordY;
hp=5;
}
вот игра поверх экрана (упрощенно): (laFora = root. Это означает «снаружи»)
var laFora:MovieClip=MovieClip(root);
laFora.piso.x=2502,1;
for(var n=0;n<laFora.inimigos.length;n++){
laFora.inimigos[n].restart();
}
В основном мне нужно, чтобы враги «возродились» в том же месте, где они находились до начала игры.
Вот несколько скриншотов:
как расположен враг (один из них):
http://tinypic.com/r/2ziyfky/9
после того, как мой персонаж умер за указанного врага и возродился:
http://tinypic.com/r/29b0tjq/9
Вы можете видеть в этом последнем, что противник также полностью игнорирует поверхность столкновения (оранжевая рамка)