在清除论坛后我一直无法找到它。我想实现这样的事情......主角总是朝着它所面对的方向前进。当玩家触摸屏幕时,角色将转向面对该触摸位置,这会导致身体向不同的方向移动。花栗鼠物理学:顺畅地旋转身体
我可以得到性格上的触摸位置,如下所示:
CGPoint diff = ccpSub(location, self.position);
CGFloat targetAngle = atan2f(diff.y, diff.x);
self.body->a = targetAngle;
我想沿着这些路线的东西。获取角色面对的当前角度。将该角度转换为单位矢量。将该单位矢量乘以max_velocity,并将其应用于角色。这应该(理论上)将角色以一个恒定的速度朝着它所面对的方向移动?
这似乎给我我想要的东西:
cpVect rotatedVel = cpvmult(ccpForAngle(self.body->a), MAX_VELOCITY);
self.body->v = cpvlerpconst(self.body->v, rotatedVel, ACCELERATION * dt);
现在,所有我需要的是随着时间的推移慢慢地转动人物的方向的方式。我该怎么做?