簡體   English   中英

使對象繞圈移動

[英]Make object move in a circle

我是編程的初學者,我一直在嘗試使一個物體繞着另一個物體旋轉(或只是繞圈移動)。 但是我做得不是很好。 有任何想法嗎?

您需要一些常量來指定半徑和速度:

const float speed = 100.0f;
const float radius = 50.0f;

您還需要一些變量來存儲角度:

float angle;


- (void)updateObject:(NSTimeInterval)dt
{
    angle += speed * dt;
    angle = fmodf(angle, 360.0f);

    float x = cosf(DEGREES_TO_RADIANS(angle)) * radius;
    float y = sinf(DEGREES_TO_RADIANS(angle)) * radius;

    float newXPosition = _yourSprite.position.x + x;
    float newYPosition = _yourSprite.position.y + y;

    //Assign the values to your sprite
    _yourSprite.position = ...
}

嘗試使用SKPhysicsJointLimit連接兩個節點,其中第一個節點不可移動(可能不是動態的),將第二個節點的線性阻尼設置為零,並禁用其上的重力。 當然,它也不應與其他任何物體碰撞。當關節被拉伸到最大程度並且對兩個物體之間的連接應用“垂直沖擊”時,該物體應開始圍繞另一個物體旋轉。

我還沒有測試過

暫無
暫無

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

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