내 SpriteKit 게임을보다 체계적이고 명확하게 설정하고 싶기 때문에 각 유형의 스프라이트 노드에 클래스를 사용하기로했습니다. 내 경우사용자 정의 SKSpriteNode 클래스에 물리학 적용
은 내가 올바르게 장면 Editor's 사용자 정의 클래스 관리자에서 Sprite 노드를 참조하고 내가 어떤없이 클래스 메소드를 실행할 수있는이
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")
}
}
처럼 보이는 빠른에 별도의 플레이어 클래스를 생성 문제 - 이것은 잘 작동합니다.
내가 이렇게 내 GameScene에서 플레이어의 클래스를 참조 :
class GameplayScene: SKScene {
var player: Player = Player()
let myNode = SKSpriteNode(imageNamed: "player")
override func didMove(to view: SKView) {
player.initializePlayer()
}
}
그러나 물리학 본문이 적용되지 않으며,이 경우 이유를 알아낼 수 없습니다.
물리 본문을 스프라이트 노드에 추가 한 후 노드가 화면에서 떨어질 것으로 예상됩니다. 하지만 이런 일은 일어나지 않고 왜 그럴 수 없는지 알 수 없습니다.
수업 내에서 물리 물리학을 적용 할 수있는 사람이 있습니까?
물리 체체가 무엇을 의미합니까? 적용되지 않았습니까? – Mina
물리 본문을 스프라이트 노드에 추가 한 후에는 노드가 화면에서 떨어질 것으로 예상됩니다. 하지만 이런 일은 일어나지 않고 왜 그럴 수 없는지 알 수 없습니다. – boehmatron
게시 된 코드에서 물리 바디를 본문에 추가 한 것을 볼 수 없습니다. 자세한 내용을 게시하고 코드를 게시하십시오. – Mina