2011-09-21 77 views
1

我正在爲iPad/iOS創建一個簡單的拖放遊戲。基本上你可以拖動一個精靈到一個位置,如果它匹配,然後賓果,它匹配。像孩子們的動物益智遊戲。把一隻雞拖到雞上,但不要把雞拖到牛上。iOS編程最佳實踐 - 益智遊戲幫助

現在,我設置了關卡,並對碰撞檢測工作進行了拼圖。我也有邊界設置和加速度計工作,以清除遊戲件。

我的問題是什麼路線我去的空插槽?我正在考慮在設定的位置添加它們作爲精靈,然後檢查雞塊是否與雞槽碰撞,然後賓果。但這似乎效率低下,因爲我將不得不創建一堆。

然後我開始思考循環,並使用'空片'對象。但是,我仍然必須「硬編碼」空插槽的位置。

我現在正在使用cocos2d和box2d,只是需要指出正確的方向。是否有我應該使用的頂點編輯器?我是否將這些精靈設置爲傳感器?

感謝

回答

0

如果您創建三個空槽,給遞增的Z值各。

int index = 0;

[self addChild:emptyPiece1 z:++index]
[self addChild:emptyPiece2 z:++index]
[self addChild:emptyPiece3 z:++index]

然後爲您的實際件,給予遞增的Z值各。

[self addChild:puzzlePiece1 z:++index]
[self addChild:puzzlePiece2 z:++index]
[self addChild:puzzlePiece3 z:++index]

您可以在碰撞比較Z值,看看兩者之間的區別是正確的差別(在這種情況下3)。

喜歡的東西:

if (abs(obj1.z - obj2.z) == (index/2)) {}