我想以更有序和更清晰的方式設置我的SpriteKit遊戲,所以我決定利用類來處理每種類型的Sprite節點。將物理應用到自定義SKSpriteNode類
在我來說,我迅速看起來像這樣
import SpriteKit
class Player: SKSpriteNode {
func initializePlayer() {
self.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: self.size.width, height: self.size.height))
self.physicsBody?.affectedByGravity = true
}
func moveLeft() {
print("left")
}
func moveRight() {
print("right")
}
}
我在現場Editor's自定義類檢查正確引用這個雪碧節點,我可以觸發類的方法沒有任何創建一個獨立的播放器類問題 - 所以這個效果很好。
我引用Player類在我GameScene這樣的:
class GameplayScene: SKScene {
var player: Player = Player()
let myNode = SKSpriteNode(imageNamed: "player")
override func didMove(to view: SKView) {
player.initializePlayer()
}
}
但物理身體不適用了,我想不通爲什麼是這樣的情況。
在我將物理體添加到sprite節點後,我期望節點落下屏幕。但是這不會發生,我不明白爲什麼。
有沒有人有線索我怎麼能從課堂上應用物理機構?
你的意思是什麼_物理機構不適用_? – Mina
在我將物理體添加到sprite節點後,我期望節點落下屏幕。但是這不會發生,我不明白爲什麼。 – boehmatron
我無法在發佈的代碼中看到該代碼,您只需將自己的物理主體添加到自己。 更具體,並張貼更多的代碼。 – Mina