Используя Путь в Анденгине - PullRequest
1 голос
/ 01 января 2012

Я использую Path в AndEngine, который позволяет перемещать спрайт в определенное место с координатами X и Y.

У меня есть облако, прикрепленное к моему скейту, и я хочу, чтобы облако перемещалось взад-вперед из стороны в сторону, но не превышало камеру, по оси X (которая была бы горизонтальной в ландшафтном режиме).

Вот что у меня есть:

Sprite cloudSprite = new Sprite(50, 300, (TextureRegion)this.cloud);
final Path path = new Path(10).to(50,300).to(100, 300);

cloudSprite.registerEntityModifier(new LoopEntityModifier(new PathModifier(10, path)));

Это не работает правильно, хотя я попытался изменить X и Y на параметры, но безрезультатно.

Кто-нибудь знает, как мне это сделать?

1 Ответ

3 голосов
/ 01 января 2012

Вы не должны использовать PathModifier для этой цели; Вместо этого используйте MoveXModifier.

final float minX = 0;
final float maxX = CAMERA_WIDTH - cloudSprite.getWidth();
final float duration = //Duration for the full move across the screen here.
final MoveXModifier rightMoveModifier = new MoveXModifier(minX, maxX, duration);
final MoveXModifier leftMoveModifier = new MoveXModifier(maxX, minX, duration);
cloudSprite.registerEntityModifier(new LoopEntityModifier(new SequenceModifier(rightMoveModifier, leftMoveModifier)));

(Здесь мы предполагаем, что облако помещается в левую часть экрана при загрузке игры)

Это должно работать.

...