(AS3) Как мне сбросить позицию моего врага, когда игрок умирает? - PullRequest
0 голосов
/ 03 июля 2019

Так что я делаю этот проект для небольшого курса, и я столкнулся с некоторыми проблемами. По сути, у меня есть простая платформенная игра, в которой враги, которые находятся в массиве, помещаются вручную в зону действия, и когда игрок входит в указанную зону, враг реагирует, ускоряя направление игрока. Через несколько часов мне удалось заставить это работать, но теперь, когда игрок умирает, враги, которые раньше были сброшены в исходное положение, теперь случайным образом сбрасываются на сцене, и если игрок находился рядом с одним из них, тот сбрасывал вместе с игроком (рядом с ним в начале уровня).

вот код (на португальском, поэтому я постараюсь объяснить как можно больше)

вот как выглядит код перезапуска противника (упрощенно):

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

Вы можете видеть в этом последнем, что противник также полностью игнорирует поверхность столкновения (оранжевая рамка)

...