2012-07-20 94 views
0

我正在尝试开发一种汽车沿道路移动并根据交通信号灯停止的游戏。他们有不同的速度。有时候汽车需要减速以避免碰到领先的汽车。他们需要停在红灯处。他们必须转弯等。这与使用直线相交道路时相对而言比较容易。但是,我怎样才能沿着弯曲的路径移动汽车/汽车?到目前为止,这很容易,因为我只是使用车的位置的x或y。但是这次不是这种情况,两个坐标似乎都是将它推向前方的必要条件。对于直线道路,我可以给汽车一个任意的速度,它将以这个速度沿x或y轴移动。但是如何确定速度,如果两个坐标都必须考虑在内?在这种情况下,加速和减速对我来说也是莫名其妙的。谢谢你。Cocos2d - 以不同速度在弯曲路径中移动物体

+0

您可以使用CCBezierTo沿曲线移动对象。 – 2012-07-20 04:46:06

回答

2

虽然this is about moving a train over a freeform track,相同的问题和原则适用于在自由道路上行驶的汽车。事实上,汽车可能会更容易,因为他们不需要100%准确地坚持自己的赛道。

总之:这并不容易,但可行。这将取决于你希望你的汽车看起来多么逼真,并寻找切入点。

在你的情况下,汽车应该只是沿着一条路径(一系列点)。由于CCActions对于频繁的方向/速度变化不利,您应该使用自己的系统来检测路径点并前往下一个。沿着贝塞尔曲线运动不会让你的牌以恒定的速度移动,这就排除了CCBezier *动作。