我有兩個精靈,一個「跟蹤」,跟着另一個。我已經有了這個工作,所以魚會在屏幕周圍顯示一個泡泡(它會朝着方向旋轉並朝着它移動)。這裏有一個圖上它是如何工作的,什麼我希望發生的事情:在兩個精靈之間創建一個距離緩衝區
我試圖找出如何「緩衝」我的魚了正確的(X,Y)遠離泡沫中心,但我不知道如何。這裏是我的代碼,它運行在一個時間表(60 *秒):
- (void) nextFrame:(ccTime)dt {
float dx = bubble.position.x - fish.position.x;
float dy = bubble.position.y - fish.position.y;
float d = sqrt(dx*dx + dy*dy);
float v = 200;
if (d > 1){
fish.position = ccp(fish.position.x + dx/d * v *dt,
fish.position.y + dy/d * v *dt);
} else {
fish.position = ccp(bubble.position.x, bubble.position.y);
}
float angle = CC_RADIANS_TO_DEGREES(atan2f(dx, dy));
angle -= 90;
fish.rotation = angle;
if(bubble.position.x < fish.position.x){
fish.flipY = YES;
} else {
fish.flipY = NO;
}
}
任何意見或幫助表示讚賞。謝謝
嘿,我可以問你用什麼來製作你的圖表嗎? – akuritsu