當使用純的展開的Box2D和Cocos2D時,我曾經能夠通過一個名爲GetReactionForce的漂亮函數獲得關節上的反作用力。我最近開始嘗試Sprite Kit物理,我似乎沒有找到類似的東西。據我所知,沒有現成的。有什麼辦法可以在Sprite Kit中以某種方式實現這一點?物理引擎仍然是Box2D,但並非所有功能都可用。我認爲這可以通過使用形成接頭的物體的質量,密度,速度等特性來完成。但我不知道如何。Box2D Joint.GetReactionForce等效於Sprite套件
0
A
回答
2
這不是現成的,我想不出一種使用Sprite Kit的內置物理模擬或解決它的方法。
這就是說,忽略Sprite Kit的物理效果相當容易,而是將Box2D(或Chipmunk)嵌入到您的應用中。您可以在場景的didSimulatePhysics消息中引導世界(甚至可以在physicsWorld屬性爲nil的情況下調用該世界)。您可以將對節點的引用存儲在主體的userData中,並且在步進枚舉主體並更新其節點(從主體的userData獲取)位置和zRotation屬性後。
這些是必不可少的步驟。僅僅因爲Sprite Kit有物理內置並不意味着你不能使用其他物理引擎。
相關問題
- 1. 重置Sprite - Box2d(Cocos2d)
- 2. Sprite Kit等價於clipsToBounds:
- 3. 使用套件Sprite
- 4. 斯卡拉零套等效套件
- 5. Sprite套件SKAction repeatActionForever隨機等待時間
- 6. WPF等效於Control.CursorChanged事件
- 7. KeyPress事件等效於WPF
- 8. Box2d和LibGDX sprite與燈具不同步
- 9. Box2d物理體與Cocos2d sprite不同步
- 10. 使用位置的Invisible Box2d Sprite?
- 11. 在Sprite上添加box2d正文Cocos2d
- 12. 在Sprite套件中創建相機效果
- 13. 等效於Java拓撲套件和Python中的Jena TBD
- 14. 等效於WM_MOVE
- 15. 等效於'@ECHO ON'的Unix等效
- 16. 嵌套循環等效
- 17. 如何在sprite套件中實現齒輪接頭?
- 18. 在Sprite套件中將Sprite變回0度
- 19. VLOOKUP等效於MySQL
- 20. __LINE__等效於Javascript
- 21. ereg_replace等效於C#
- 22. View.Frame等效於Android
- 23. powershell等效於SIGHUP
- 24. gluProject等效於Javascript
- 25. ifdef等效於TCL
- 26. VBA:GoalSeek等效於C#
- 27. Android等效於JTextArea
- 28. ArrayList.ensureCapacity等效於Javascript
- 29. InitializeComponent等效於xaml
- 30. roxygen2等效於python
是的,正確的。你知道,@Stefen,我可以說ObjectiveC包裝的Box2D是我想從Cocos2D轉移到Sprite kIt的唯一原因。 (我仍然覺得C++有點難以適應)但是這個和其他很多問題都證明了我最好堅持到Cocos2D,至少在iOS9之前,那時我會適應C++ :) –
由於我只是在課堂上深入挖掘,SKPhysicsContact的確有一個名爲_collisionImpulse的ivar,您可以通過[self valueForKey:@「collisionImpulse」]進行訪問 - 但這構成了Apple在開發人員協議中禁止的私人API使用。 – LearnCocos2D
嗯。你有沒有關閉狗頭人套件中的這些空白?我發現你已經對Sprite Kit丟失的東西做了很多改進。 –