数日間これに苦労しており、ネット上でコード例を見つけるのは困難です。
トップダウン ゲームを作成していますが、キーを押してプレーヤーを動かせません。add_force
現在、 orを使用しadd_impulse
てプレイヤーをある方向に動かしていますが、プレイヤーは止まりません。スペースとプレイヤーの間の表面摩擦を使用して摩擦をシミュレートすることについて読んだことがあります。tank.cデモでそれがどのように行われるかを次に示します。
ただし、このコードをシマリスからピムンクに移植するのに十分なAPIを理解していません。
cpConstraint *pivot = cpSpaceAddConstraint(space, cpPivotJointNew2(tankControlBody, tankBody, cpvzero, cpvzero));
これまでのところ、次のようなものがあります。
class Player(PhysicalObject):
BASE_SPEED = 5
VISIBLE_RANGE = 400
def __init__(self, image, position, world, movementType=None):
PhysicalObject.__init__(self, image, position, world)
self.mass = 100
self.CreateBody()
self.controlBody = pymunk.Body(pymunk.inf, pymunk.inf)
self.joint = pymunk.PivotJoint(self.body, self.controlBody, (0,0))
self.joint.max_force = 100
self.joint.bias_coef = 0
world.space.add(self.joint)
スペース/プレイヤーの制約をスペースに追加する方法がわかりません。
(この質問の pymunk タグを作成するには、1500 人以上の担当者が必要です)。