簡體   English   中英

使SKSpriteNode移向點

[英]Make SKSpriteNode move towards point

我正在使用以下代碼使連接到spritenode的Physibody移向點(pt)。

問題是我有障礙物(即圓),阻礙了點到點的路徑,它們必須不斷地“推”向障礙物,直到它們越過障礙物為止(除非它們完全垂直,否則這在物理學中將始終有效到障礙物的切線),並且它們以我的方式起作用,但是即使我將兩個物體的補償都設置為0,它也會從障礙物中產生很小的“反彈”。

我怎樣才能解決這個問題?

double velocity_multiplier = 3*obstacle_move_speed;
if(page == 2){
    velocity_multiplier = 2;
    pt = CGPointMake(0, 160);
}

double dx = pt.x - dot.position.x;
double dy = pt.y - dot.position.y;

double dot_distance = sqrt(dx*dx + dy*dy);

if(dot_distance < distance){
    distance = dot_distance;
}

if(dot_distance < 50){
    velocity_multiplier = 1;
}

dot.physicsBody.velocity = CGVectorMake(dx * velocity_multiplier, dy * velocity_multiplier);

試試看

[ball runAction:[SKAction moveTo:point duration:0.3]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM