我正在開發一個遊戲,我的角色從陸地跳到陸地。除了剩餘的問題,我已經把所有的東西都做下來並完成了,如果你繼續點擊屏幕,他可以繼續跳躍。我想要它,所以他必須在他再次跳躍之前將其擊倒。斯威夫特:如何讓我的角色在我的遊戲中只能在他擊中地面時跳躍?
import SpriteKit
import GameplayKit
class GameScene: SKScene, SKPhysicsContactDelegate {
struct PhysicsCatagory {
static let Knight : UInt32 = 0x1 << 1
static let land : UInt32 = 0x1 << 2
}
var Knight = SKSpriteNode()
var land = SKSpriteNode(imageNamed: "CJLand4")
這是我當前的代碼,讓他跳:
Knight.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
Knight.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 325))
我有這個touchesBegan
下,並將其添加重力和衝動也讓他跳。但是我只希望他每次擊中土地都能跳一次。如果可以的話請幫忙。
您可以用布爾值跟蹤與陸地的碰撞,並在跳躍發生後將其設置爲假。 – the4kman
@ the4kman所以東西沿着touchLand = false?你能給我一個例子代碼 – Luyer