我正在尝试使用onAreaTouch在我的Sprite上实现,但在触摸我的精灵时没有响应。
androidTexture = new BitmapTextureAtlas(this.getTextureManager(), 354,
404, TextureOptions.BILINEAR);
androidRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(
androidTexture, this, "image.png", 0, 0);
Sprite android = new Sprite(30, 500, androidRegion,
this.getVertexBufferObjectManager()) {
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY) {
System.out.println("touched");
return true;
}
};
scene.registerTouchArea(android);
scene.setTouchAreaBindingOnActionDownEnabled(true);
androidTexture.load();
scene.attachChild(android);
此代码位于oncreatescene
我真的是andengine的新手。
答案 0 :(得分:1)
我复制了您的代码并在onCreateScene()中添加了pOnCreateSceneCallback.onCreateSceneFinished(scene);
。运行后,当我触摸图像时,它可以在LogCat(不是控制台)中打印“触摸”。
那么,你忘了添加pOnCreateSceneCallback.onCreateSceneFinished(scene);
吗?
您还需要在onCreateResources()
pOnCreateResourcesCallback.onCreateResourcesFinished();
答案 1 :(得分:0)
不要在onCreateScene()中加载资源。相反,加载onCreateResources()中的所有资源。之后,将您的精灵附加到onCreateScene()中。我认为你的其他遗嘱很有效。
快乐编码