从屏幕中移除精灵

时间:2014-05-04 12:43:03

标签: screen andengine sprite

我有一个小问题,我可能需要一些帮助/想法。我知道通用检查,我设置onUpdate来检查我的精灵是否通过

离开了屏幕

如果Sprite.getX>相机宽度并将其删除。

但是,在我的情况下这不起作用。

我的精灵是通过时间处理程序生成的,然后设置为从A点移动到B点(A在屏幕的底部到B在屏幕的顶部)。这是通过moveModifier完成的。

不幸的是,为了产生已经有一个恒定运动的想法,我在外面产生了精灵,所以它们似乎正在放大到场景中。

E.g。 游戏处于纵向模式,相机宽度为0到480,高度为0到800。

在例如,随机生成坐标。 (33,810)

在这种情况下,A点略微位于屏幕底部之外,B点位于(33,-20)B点稍微偏离屏幕顶部。

当moveModifier被激活时,它开始移动精灵。

但是通过将屏幕放在onUpdate的顶部,它会每帧检查一次。因此,当精灵从点A(33,810)移动到(33,800)时可见时,精灵本身在被看见之前被移除。

我需要知道的是,无论如何都要在moveModifer完成之前阻止这种删除,或者如果还有其他方法可以阻止这种删除。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果精灵没有准备就没有移动:

如果您正在尝试添加状态(可能称为“衍生”),这表示精灵是否已准备好移动(或被移除)?


另一种方法是将这些精灵分配给另一个框架矩形,即“边界矩形”。 (所以你有一个矩形,它是框架的当前大小,另一个是指示对象是否准备好被移除)