1

我正在制作一个游戏,当您第一次和第二次单击屏幕时,它会创建一个门户。对于第三次单击,我希望第一个门户移动到我第三次单击的位置。这是我的 onSceneTouchEvent:

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    // TODO Auto-generated method stub
     if (pSceneTouchEvent.isActionDown())
        {
         Sprite[] portal = new Sprite[10];
         if (portalCounter <= 2)
            {
             if(portalCounter == 0){
                 portal[0] =  new Sprite(pSceneTouchEvent.getX(), pSceneTouchEvent.getY(), resourcesManager.platform1_region, vbom);
                 attachChild(portal[0]);
                 portalCounter++;
             }
             else if(portalCounter == 1){
                 portal[1] =  new Sprite(pSceneTouchEvent.getX(), pSceneTouchEvent.getY(), resourcesManager.platform1_region, vbom);
                 attachChild(portal[1]);
                 portalCounter++;
             }
             else if(portalCounter == 2){
                 portal[0].setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
             } 
       }
   }
    return false;
}

问题是 setPosition 不起作用。第三次单击时程序崩溃。

4

1 回答 1

1

每次onSceneTouchEvent创建新的空数组Sprite[] portal = new Sprite[10];

else if(portalCounter == 2){
    portal[0].setPosition(pSceneTouchEvent.getX(), pSceneTouchEvent.getY());
} 

门户 [0] 为空

于 2013-06-07T06:25:24.790 回答