2013-05-02 30 views
0

我發展我的Andengine第一個應用程序爲我的項目的第一time.Description是:RegisterTouch地區節能兩點

  1. 4件被放置在靠近彼此
  2. 移動和放置4件4個不同的印版
  3. 將4個不同的印版成功放置到4個不同的印版上,我生成4個新印記,然後繼續步驟(1),(2)和(3)。

現在我已經實現了這個場景是這樣的:

  1. 在最初我提出了新的BitmapTextureAtlas1sprites1和分配的具體位置
  2. 新對象我取得了新的BitmapTextureAtlas並分配給前BitmapTextureAtlas1和類似的精靈

3.I registerToucharea和atachchild然後unregisterTouchArea和DeatachChild並採用(1和1,2和3)

就是去做這個正確的方法。

我所面臨的問題是這樣的:

當我把pices1對任何板,它成功地移動,但他們的一些東西隱藏在pices1,當我再次從pice1的初始位置移動的初始位置對一些對象移動

+0

嘿,@Gulzar你爲什麼不回覆帖子? – 2013-05-05 04:18:10

回答

0

從@GulZar問題的任何板..my標誌增量:

這是正確的方法做呢?

答:不可以。您總是在啓動遊戲&它應該只once.After完成了使用精靈的你可以打電話BitmapTextureAtlas.unload之前加載的資源(圖形)();

您可能會認爲:每次分離Sprite時,都需要重新加載Graphics。分離一個精靈只是將它從場景中移除,而不是從內存中移除。

您可以創建自定義的精靈類以坦率地使用。例如:

public class Food extends PixelPerfectAnimatedSprite { 

       public Food(float pX, float pY, 
       PixelPerfectTiledTextureRegion pTiledTextureRegion, 
       VertexBufferObjectManager pVertexBufferObjectManager) { 

       super(pX, pY, pTiledTextureRegion, pVertexBufferObjectManager); 

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

     return true; 
    } 

    @Override 
    public void onAttached() { 
     super.onAttached(); 
    } 
} 

在這裏,我向PixelPerfectAnimatedSprite像素完美碰撞。您可以使用SpriteAnimatedSprite。然後,您可以覆蓋onAreaTouched,onAttached()和實體中的所有覆蓋方法。現在,在onAreaTouched()裏面你寫邏輯運行時發生的事情。

做完以上之後,您可以從您的遊戲場景中調用它。當玩家將棋子移動到棋盤上時,設置一個條件/旗要麼附加新棋子。取決於你的邏輯。解釋更多以獲得良好的推文。

+0

回覆,如果有答案。 – 2013-05-02 09:46:56