2017-06-09 14 views
1

私はスプライトが特定の位置に到達するまで重力で移動し、その後重力に反応してそこに留まるようにします。どうやってやるの?事前のおかげスプライトが特定の位置に到達した後にphysicsBody/stopを重力に応答する方法を削除しますか?

で、私はそれが

sprite.physicsBody = SKPhysicsBody(circleOfRadius: sprite.size.width/2) 
if sprite.position == newPosition { 
sprite.physicsBody?.affectedByGravity = false} 

目標位置に達すると、それは停止するように、それは

+1

それで、ある時点で停止する必要がありますか?または、別のスプライトと衝突して停止しますか? – sicvayne

+0

スプライトをどのように設定しているかを示すには、いくつかのコードを投げたいかもしれません。 – Adrian

+1

moveToやmoveByのようなスキルを使用するだけではどうですか?あなたが私に尋ねる気にならないなら – sicvayne

答えて

1

を動作しませんしたいが、この場合には、この

override func update(_ currentTime: TimeInterval) { 
    //In this case, you can just change self.size.height/2 with whatever position you want. 
    if sprite.position.y <= self.size.height/2{ 

     sprite.physicsBody?.affectedByGravity = false 
     sprite.physicsBody?.isDynamic = false 


    } 


} 

のようなものをやってみてください私は重力が真に設定された上に位置するスプライトを作成しました。 override func updateでは、スプライトがこの特定の位置に到達すると、静的にしたいと言います。

関連する問題