Performance Cocos2d精灵移动速度

Performance Cocos2d精灵移动速度,performance,cocos2d-iphone,sprite,Performance,Cocos2d Iphone,Sprite,我有一个类在屏幕上的任意点创建一个精灵,然后这个精灵移动到屏幕的中心 我怎样才能使它始终以相同的速度运行 显然 CCMoveTo* move = [CCMoveTo actionWithDuration:5 position: ccp(screenWidth/2, screenHeight/2)]; 将始终意味着持续时间为5秒,与距离无关。但我希望速度是恒定的,如果它移动50像素或500像素 非常感谢任何帮助计算从中心到中心的距离的持续时间 duration = distance / rate

我有一个类在屏幕上的任意点创建一个精灵,然后这个精灵移动到屏幕的中心

我怎样才能使它始终以相同的速度运行

显然

CCMoveTo* move = [CCMoveTo actionWithDuration:5 position: ccp(screenWidth/2, screenHeight/2)];
将始终意味着持续时间为5秒,与距离无关。但我希望速度是恒定的,如果它移动50像素或500像素


非常感谢任何帮助

计算从中心到中心的距离的持续时间

duration = distance / rate;
假设在5秒内移动50像素是可以的。那么你的速度是10像素/秒

rate = 10;
如果你的精灵在(x,y),那么距离就是毕达哥拉斯定理

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

非常感谢,工作非常完美:)