2017-01-02 22 views
2

我正在製作另一個Swift遊戲。地板是沙漠。 這個地板是基於它的圖像紋理的物理體(sprite kit)。 我想知道基於特定x點的樓層高度(例如屏幕中間)。 如果我使用floor.size.height,它會獲得像它是矩形的高度(換句話說,最大高度可能)。 我想讓這個Y點讓玩家在物理體上移動。從x點快速獲取圖像高度

任何人都可以幫忙嗎?

enter image description here

回答

1

你有沒有這個必要。僅僅因爲你使用的是物理,它只是說明與isDynamic = false地板和球員isDynamic = true和其它參數,例如:

enum CollisionTypes: UInt32 { 
    case player1 = 1 
    case player2 = 2 
    case floor = 4 
} 

floor.physicsBody?.categoryBitMask = CollisionTypes.floor.rawValue 
floor.physicsBody?.contactTestBitMask = CollisionTypes.player.rawValue 
floor.physicsBody?.collisionBitMask = 0 

player1.physicsBody?.categoryBitMask = CollisionTypes.player1.rawValue 
player1.physicsBody?.contactTestBitMask = CollisionTypes.floor.rawValue 
player1.physicsBody?.collisionBitMask = CollisionTypes.floor.rawValue 

這僅僅是一個點開始所以希望它可以幫助你。

+0

實際上物理效果也很好,作爲聯繫人處理... 地板是穩定的動態虛假和玩家正在與動態真實... 但如果我使用這個:player.run(SKAction.moveBy( x:10,y:0,持續時間:0))玩家可能會在上坡時移動到地板 –

+0

如果您不想意外的行爲,則不應該使用SKAction.move..with物理。而是使用applyImpulse或改變你的精靈速度。 –

+0

好的提示!謝謝! –

相關問題