如何在场景中的触摸事件上更改动画帧: - Andengine

时间:2012-07-04 05:42:02

标签: android andengine layer sprite scene

我对Andengine很新,我想要一些帮助。

我很难理解AnimatedSprite的功能。我有一个坐在2D场景上的动画片。这是24FPS的动画。我想要的是当场景的一侧发生触摸事件时,我的动画从精灵表更改为特定帧。例如,如果触摸事件发生在屏幕的右侧,我想注册触摸位置,并根据该更改我的动画精灵到特定的帧。那可能吗?

以下是我渲染AnimatedSprite的代码

    mMainCharacter = new  AnimatedSprite(centerCharacterX,centerCharacterY,mLevel1CharacterBackTextureRegion,getVertexBufferObjectManager());

    final long[] frameDurations = new long[24];
    Arrays.fill(frameDurations,400);
    mMainCharacter.animate(frameDurations, 0, 23, true);
    scene.getLastChild().attachChild(mMainCharacter);

此外,我还想知道为什么我们在场景中使用图层。如果有任何文档或教程解释触摸事件和场景,有人可以给我一个链接。

提前致谢!

1 个答案:

答案 0 :(得分:0)

我自己和korn3l在这里回答:http://www.andengine.org/forums/post36574.html#p36574

  

您可以使用setCurrentTileIndex(pCurrentTileIndex)。

分层次:

  

图层允许您控制在场景上渲染精灵的顺序。例如,如果你有一个坦克将它的轨迹作为一个精灵而它的炮塔作为另一个精灵,你可能想要分配它们以使轨道不与炮塔重叠。