2011-04-27 74 views
1

我正在iPhone上的Cocos2D/Box2D中嘗試一些新的想法。cocos2d/box2d iPhone - 隨機循環路徑

我想動畫螢火蟲移動的圓形小羣(隨機?)路徑...的想法是,用戶可以捕捉螢火蟲,淨..

我一直在使用重力模擬的考慮但我相信這是過於複雜的事情......我以前使用貝塞爾曲線的經驗告訴我,這不是解決方案要麼..

有沒有人有任何明亮的見解給我?

非常感謝。

回答

6

你需要的螢火蟲相互碰撞?

我問,如果這不是一個要求,Box2D可能是爲你的需要矯枉過正。 Cocos2d對於這個聲音來說是一個很好的選擇,但是我認爲你最好是關注植絨算法,如boids

即使這可能過於複雜。將一些正弦和餘弦項與一些隨機縮放因子混合在一起可能就足夠了。

你可以有一個正弦/餘弦的組合形成一個橢圓形的屏幕幾乎大小:

x = halfScreenWidth + cos (t) * halfScreenWidth * randomFactor; 
y = halfScreenHeight + sin (t) * halfScreenHeight * randomFactor; 

其中randomFactor也會是在0.6境界0.9

這廣闊的給你屏幕周圍的橢圓運動,則可以添加較小的正弦/餘弦因子,使它們圍繞該橢圓上的點旋轉。

通過將時間差(t)乘以不同的值(負值和正值),曲線的路徑將以較小的幾何方式移動。例如,如果您使用

x = halfScreenWidth + cos (2*t) * halfScreenWidth * randomFactor; 

橢圓會變成圖8(我想!)

希望這有助於讓你開始。祝你好運。