0
我想讓一個物體在碰撞點附着到一個正在旋轉的圓上,但玩家需要在玩家的一個常量點上附着。例如,玩家來回移動,並且當用戶觸摸屏幕並且玩家跳起來時,但是我需要的是,當玩家與圓圈相撞時,它將它的腿連接到它並繼續與圓圈一起旋轉。所以我想知道如何在cocos2d box2d中製作這種碰撞接頭?如何將對象附加到box2d中的旋轉圓cocos2d?
我想讓一個物體在碰撞點附着到一個正在旋轉的圓上,但玩家需要在玩家的一個常量點上附着。例如,玩家來回移動,並且當用戶觸摸屏幕並且玩家跳起來時,但是我需要的是,當玩家與圓圈相撞時,它將它的腿連接到它並繼續與圓圈一起旋轉。所以我想知道如何在cocos2d box2d中製作這種碰撞接頭?如何將對象附加到box2d中的旋轉圓cocos2d?
當檢測到用戶和圓圈之間的碰撞時,可以運行一個調用回調函數(可能是CCCallFuncND)的動作。回調函數可以傳遞指向兩個主體的指針(包裝在NSValue的valueWithPointer中)並在它們之間創建一個任意的關節。這可以通過首先實例化所需類型的b2JointDef來完成,將該關節的bodyA和bodyB定義爲您想要「粘在一起」的兩個主體,然後調用b2World-> CreateJoint()。
在將球員身體附加到圓體上的特定點方面,您必須通過像anchorPoint這樣的聯合def的某些參數來完成此操作。例如b2PrismaticJoints有anchorPoint,它定義了關節運動範圍的中心。
我相信box2d的flash版本有b2WeldJoint。也許你可以從中適應一個解決方案。 –