2012-11-17 87 views
1

我有一個類在屏幕上的隨機點創建一個精靈,這個精靈然後移動到屏幕的中心。Cocos2d雪碧移動速度

我該如何使它始終以相同的速度行進?

明顯

CCMoveTo* move = [CCMoveTo actionWithDuration:5 position: ccp(screenWidth/2, screenHeight/2)]; 

將總是意味着持續時間是不分距離的5秒。但是,如果它的行進速度是50像素或500像素,我希望速度保持不變。

任何幫助非常讚賞

回答

3

從到中心的距離計算的持續時間。

duration = distance/rate; 

假設在5秒內移動50個像素是可以的。那麼你的速度是10像素/秒。

rate = 10; 

如果你的精靈是(X,Y),那麼距離由勾股定理

dx = x - screenWidth/2; 
dy = y - screenHeight/2; 
distance = sqrt(dx * dx + dy * dy); 
+0

非常感謝,可以正常使用:) –