使用andengine在游戏中的多个精灵上获得适当的触摸事件

时间:2012-01-11 11:01:14

标签: android andengine

我在Android中使用andengine进行游戏,在这个游戏中,各种精灵(蛋)在屏幕上移动。我想独立地获取每个精灵的触摸事件,有时当一个精灵超过另一个精灵然后onAreaTouched( )给两个精灵的触摸事件,如果我在这里返回false或super.onAreaTouched(),如果我返回true,那么在另一个精灵注册的区域上移动的精灵无法给出触摸事件

那么什么是获得仅显示上限精灵的触摸事件的适当方法。

1 个答案:

答案 0 :(得分:1)

您可以使用的另一种方法是使用IOnSceneTouchListener方法的onSceneTouchEvent。你可以得到X& Y来自pTouchEvent参数,并检查是否有任何精灵包含它。

现在,如果您不知道,每个实体都有一个子列表(并且您的场景是一个实体)。 当一个实体自己绘制时,它也会调用子实体的绘制方法。从第一个子方法到最后一个方法(从列表中的顺序)调用儿童的绘制方法;因此,首先绘制列表中的第一个子项。最后一个是最后一个。 所以最后一个将始终覆盖它所绘制的任何其他实体。

因此,迭代现场子项列表,从最后一个子项到第一个子项。如果任何精灵包含触摸点,则让它处理事件并返回true 表示您已经消耗了该事件。