0

以下に、スプライトを頻繁にスポーンするコードと、スプライトを取り除くためのタッチ メソッドがあります (正常に動作します)。私の問題は、ゾンビスプライト 2 がスポーンし、別のゾンビスプライト 2 がスポーンするのを待つときです (したがって、画面に同じスプライトが 2 つ表示されます)。touch メソッドは、最後にスポーンされたゾンビスプライト 2 にのみ影響するのでしょうか?

this.getEngine().registerUpdateHandler(
            zombieSpriteTimehandler = new TimerHandler(5, true,
                    new ITimerCallback() {

                        @Override
                        public void onTimePassed(TimerHandler pTimerHandler) {
                            // TODO Auto-generated method stub
                            zombieSprite2 = new Sprite(0, 200,
                                    zombieregion, mEngine
                                            .getVertexBufferObjectManager()) {

                                @Override
                                public boolean onAreaTouched(

                                        final TouchEvent pSceneTouchEvent,
                                        final float pTouchAreaLocalX,
                                        final float pTouchAreaLocalY) {
                                    ScaleModifier sm2 = new ScaleModifier(
                                            5,zombieSprite2.getScaleX(),
                                            zombieSprite2.getScaleX() + 1.03f);

                                    zombieSprite2.registerEntityModifier(sm2);
                                    if (zombieSprite2.getScaleX() > 1.02f) {
                                        zombieSprite2
                                                .setColor(Color.TRANSPARENT);
                                        mScene.detachChild(zombieSprite2);
                                        return true;

                                    }

                                    return false;
                                }

                            };

                            mScene.attachChild(zombieSprite2);
4

1 に答える 1