我有一個遊戲應用程序(cocos2d),其中,一個球從大炮射出,這個球穿過軌跡路徑在建築物上的土地。現在的問題是,根據要求,我必須增加背景圖像的大小,因爲我的建築物圖像在第一個視圖和第一個視圖上不可見,而且我不得不拖動背景圖像而不干擾軌跡路徑球。在這方面有人能幫助我嗎?爲了澄清問題,我還附加了一張圖片。提前致謝。移動背景屏幕以及在Iphone遊戲中保存球的路徑遊戲應用程序
1
A
回答
2
你有兩個不同的座標空間應該是相互獨立的。 球應該在「世界」座標空間中移動,與「屏幕」座標空間無關。當然,必須在「屏幕」上顯示「世界」,所以你必須將「世界」座標空間轉換爲「屏幕」座標空間,在你的情況下,這是一個簡單的翻譯,可以通過添加一個偏移量來完成。
在iPhone上,您可以簡單地將所有「世界對象」放在UIView
的內部,然後左右移動「UIView」,而世界對象相對於該視圖內的「世界」移動,並從「世界座標空間「(視圖座標空間)到屏幕座標空間將在屏幕上繪製視圖時爲您完成。
3
在cocos2d中,最簡單的方法是移動整個圖層。如果您以正常的cocos2d方式進行操作,則可以使用CCLayer的子類。
在該課程中,您只需更改其位置即可獲得理想的效果。
在你的例子中,既然你想將「相機」移動到右邊,你可以簡單地將圖層移動到左邊。例如:
-(void) centerOnBuilding {
CGPoint distanceToMove = ccp(-120, 0);
self.position = ccpAdd(distanceToMove, self.position);
}
即函數,在一個CCLayer,將具有定心照相機120點的像素到它原來所在之處的權利的效果。如果您想要滾動效果,請執行同樣的操作,但在圖層中運行MoveTo或MoveBy操作。
相關問題
- 1. 在libgdx遊戲中移動背景屏幕(android)
- 2. 在box2d遊戲中移動背景
- 3. iPhone遊戲保存
- 4. 屏幕滾動遊戲
- 5. Android遊戲滾動背景
- 6. 側滾動遊戲背景
- 7. Android遊戲背景
- 8. 簡單的乒乓球遊戲;無法讓屏幕在屏幕上移動
- 9. iphone應用程序與遊戲中心
- 10. 啓動的cocos2d遊戲最初的遊戲背景
- 11. 跳轉到Cocos2d遊戲主屏幕iphone
- 12. 對非遊戲應用使用已保存的遊戲服務
- 13. SpriteKit遊戲:移動遊戲查看
- 14. 我的iPhone遊戲遊戲中心
- 15. iPhone - 使用遊戲中心的在線多人遊戲教程
- 16. 遊戲角色移出屏幕限制
- 17. 我可以在屏幕上移動pygame遊戲窗口(pygame)
- 18. 在內存遊戲小程序中重疊背景圖形
- 19. 使用javascript和HTML5 canvas的遊戲應用程序的背景
- 20. 保存多線程遊戲
- 21. Unity 3D:在遊戲對象/記錄路徑背後繪製的遊戲對象?
- 22. Java彈跳球遊戲 - 滾球場景
- 23. 乒乓sdl遊戲球拍移動
- 24. Android遊戲的遊戲屏幕概念的可能實現
- 25. 如何在回合制遊戲中存儲遊戲棋子的路徑?
- 26. 如何在遊戲中保存/加載遊戲的狀態?
- 27. 多線程多球遊戲
- 28. iOS遊戲和Facebook遊戲:相同的應用程序ID?
- 29. Libgdx球類遊戲
- 30. AS3 - 抓球遊戲
我不清楚這一點。你能解釋清楚嗎?我不明白什麼是座標空間。這裏沒有使用uiview這是一個cocos2d遊戲應用程序。 – Sri 2010-11-22 14:23:40
我的意思是你有兩個座標系。座標的兩個起點應該是獨立的。球的位置應始終與「世界」起源有關。 「世界」的位置可以相對於「屏幕」原點移動。 – filipe 2010-11-22 14:30:20