Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何更改场景中触摸事件的动画帧:-和引擎_Android_Andengine_Layer_Sprite_Scene - Fatal编程技术网

Android 如何更改场景中触摸事件的动画帧:-和引擎

Android 如何更改场景中触摸事件的动画帧:-和引擎,android,andengine,layer,sprite,scene,Android,Andengine,Layer,Sprite,Scene,我对Andengine相当陌生,我想得到一些帮助 我很难理解动画精灵的功能。我有一个动画精灵坐在2D场景上。它以24帧/秒的速度制作动画。我想要的是,当触摸事件发生在场景的一侧时,我的动画将从精灵表更改为特定帧。例如,如果触摸事件发生在屏幕右侧,我想注册触摸位置,并根据该位置将动画精灵更改为特定帧。可能吗 下面是渲染动画精灵的代码 mMainCharacter = new AnimatedSprite(centerCharacterX,centerCharacterY,mLevel1C

我对Andengine相当陌生,我想得到一些帮助

我很难理解动画精灵的功能。我有一个动画精灵坐在2D场景上。它以24帧/秒的速度制作动画。我想要的是,当触摸事件发生在场景的一侧时,我的动画将从精灵表更改为特定帧。例如,如果触摸事件发生在屏幕右侧,我想注册触摸位置,并根据该位置将动画精灵更改为特定帧。可能吗

下面是渲染动画精灵的代码

    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);
我还想知道为什么我们在场景中使用层。如果有任何文档或教程解释触摸事件和场景,请有人给我提供一个链接


提前谢谢

我和korn3l在这里回答:

您可以使用setCurrentTileIndex(pCurrentTileIndex)

在图层上:

层允许您控制在场景中渲染精灵的顺序。例如,如果你有一辆坦克,它的轨迹作为一个精灵,而它的炮塔作为另一个精灵,你可能想给它们分配图层,这样轨迹就不会与炮塔重叠