2012-07-20 75 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 *動作。