Sprite onAreaTouch没有响应ontouch,Andengine

时间:2013-12-03 11:18:10

标签: android andengine sprite

我正在尝试使用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的新手。

2 个答案:

答案 0 :(得分:1)

我复制了您的代码并在onCreateScene()中添加了pOnCreateSceneCallback.onCreateSceneFinished(scene);。运行后,当我触摸图像时,它可以在LogCat(不是控制台)中打印“触摸”。

那么,你忘了添加pOnCreateSceneCallback.onCreateSceneFinished(scene);吗? 您还需要在onCreateResources()

中添加pOnCreateResourcesCallback.onCreateResourcesFinished();

答案 1 :(得分:0)

不要在onCreateScene()中加载资源。相反,加载onCreateResources()中的所有资源。之后,将您的精灵附加到onCreateScene()中。我认为你的其他遗嘱很有效。


快乐编码