0

我创建了一个带有触摸监听器的 SpriteButtons 数组,如下所示:

attackCursor.moveToFirst();
while (attackCursor.isAfterLast() == false) {   
    attackButtons[attackButtonsCounter] = new ButtonSprite(0, 0,
        PlayerMenu.getPlayerMenuAttackTR(),
        engine.getVertexBufferObjectManager()) {

        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
                                     float pTouchAreaLocalX,
                                     float pTouchAreaLocalY) {

            if (pSceneTouchEvent.isActionDown()) {
                beep.play();
                attackType = Cursor.getInt(0);
            }

            return true;
        }
    };
    attackButtonsCounter++;
}

当我以这种方式运行它时,我会收到有关触摸事件的错误消息。如果我用 theAttackButtonsCounter 替换 Cursor.getInt(0) 它只会使所有按钮都具有循环最后一次运行的数据。由循环生成时将代码插入 onAreaTouch() 是否有问题?我知道我的触摸方法上方没有@Override。这不是肯定的原因。我将不胜感激任何正确方向的指示

4

0 回答 0