在清除論壇後我一直無法找到它。我想實現這樣的事情......主角總是朝着它所面對的方向前進。當玩家觸摸屏幕時,角色將轉向面對該觸摸位置,這會導致身體向不同的方向移動。花栗鼠物理學:順暢地旋轉身體
我可以得到性格上的觸摸位置,如下所示:
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);
現在,所有我需要的是隨着時間的推移慢慢地轉動人物的方向的方式。我該怎麼做?