2013-11-28 66 views
0

我正在通過Andengine開發一款遊戲,並且我被困在某個地方! 問題是: 它正在我觸摸場景(touchX,touchY)時添加一個精靈,並且一個精靈正在(touchX + 100,touchY)處添加。這兩個精靈在x軸上的其他精靈之間始終有100px。直到現在,我觸摸一次,並在場景中添加了兩個精靈。然後,當我想移動其中的一個(比如說第一個)時,第二個移動也必須移動以保持它們之間的距離(100px)。我的代碼如下,這些代碼相加,但只有其中一個移動,這就是爲什麼其他人不能保持不斷的距離。我如何正確地做到這一點?一個精靈跟在另一個之後

public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) { 

    if(pSceneTouchEvent.getAction() == MotionEvent.ACTION_DOWN) 
    { 

     touchX = pSceneTouchEvent.getX(); 
     touchY = pSceneTouchEvent.getY(); 

    } 
    if(pSceneTouchEvent.getAction() == MotionEvent.ACTION_UP) 
    { 

    } 

    if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_MOVE){ 

      AnimatedSprite circleBoxE1 = new AnimatedSprite(touchX, touchY, resourcesManager.circleBoxRegion, vbom){ 
            @Override 
            public boolean onAreaTouched(TouchEvent pTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) { 

             this.setPosition(pTouchEvent.getX(), pTouchEvent.getY()); 


             return true; 
            } 
           }; 
           registerTouchArea(circleBoxE1); 
           attachChild(circleBoxE1); 
           setTouchAreaBindingOnActionDownEnabled(true); 

           AnimatedSprite circleBoxE2 = new AnimatedSprite(touchX, 450 - touchY, resourcesManager.circleBoxRegion, vbom){ 
            @Override 
            public boolean onAreaTouched(TouchEvent pTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) { 

             this.setPosition(pTouchEvent.getX() + 100, pTouchEvent.getY()); 


             return true; 
            } 
           }; 
           registerTouchArea(circleBoxE2); 
           attachChild(circleBoxE2); 
           setTouchAreaBindingOnActionDownEnabled(true); 

    } 

回答

1

如果您要更新現場觸摸兩個位置遵循如下:

例:sprite1.setPosition(touchX,敏感); sprite2.setPosition(sprite1.getX()+ 100,touchY);

,如果你想在sprite1觸摸

防爆更新:this.setPositon(touchX,敏感); sprite2.setPosition(this.getX()+ 100,touchY);

當另一個人使用updateHandlers進行更新時,您可以更新一個精靈:

相關問題