2011-11-05 31 views
0

我正在使用angengine爲學校創建一個項目。如何讓精靈只能左右移動?

我有一個雪碧,我允許用戶觸摸和移動。

精靈位於我項目中平鋪地圖的頂部。

我想要做的是創建一種方式,以便用戶不能上下移動精靈。只有並排

這是我到目前爲止使用,以允許用戶移動他們選擇的任何地方的精靈。

player = new Sprite(PlayerX, PlayerY, mHippoTextureRegion){ 
     @Override 
     public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) { 
       this.setPosition(pSceneTouchEvent.getX() - this.getWidth()/2, pSceneTouchEvent.getY() - this.getHeight()/2); 
       return true; 
     } 
}; 

任何想法或幫助將不勝感激。

回答

1

只要不使用Y值從觸摸事件:

player = new Sprite(PlayerX, PlayerY, mHippoTextureRegion){ 
    @Override 
    public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, 
           final float pTouchAreaLocalX, 
           final float pTouchAreaLocalY) { 
     this.setX(pSceneTouchEvent.getX() - this.getWidth()/2); 
     return true; 
    } 
}; 

或者,如果Sprite沒有setX方法,但確實有getY方法:

player = new Sprite(PlayerX, PlayerY, mHippoTextureRegion){ 
    @Override 
    public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, 
           final float pTouchAreaLocalX, 
           final float pTouchAreaLocalY) { 
     this.setPosition(pSceneTouchEvent.getX() - this.getWidth()/2, 
         this.getY()); 
     return true; 
    } 
};