2014-11-23 3 views
3

아래는 Swift의 Sprite Kit에있는 Enemy 노드입니다. 노드의 속도를 설정했지만 움직일 때 움직임이 없습니다. Xcode가 나에게 오류를주지 않는다. 내가 여기서 잘못하고있는 것이 있는가? 애플의 SpriteKit documentation에서Swift에서 속도를 설정하는 방법

class Enemy: SKSpriteNode { 

    init(imageNamed: String) { 

     let imageTexture = SKTexture(imageNamed: imageNamed) 
     super.init(texture: imageTexture, color: nil, size: imageTexture.size()) 

     self.name = "Enemy" 

     self.physicsBody = SKPhysicsBody(rectangleOfSize: imageTexture.size()) 
     self.physicsBody?.dynamic = false 
     self.physicsBody?.velocity = CGVectorMake(10.0,10.0) 

    } 
} 
+0

skaction을 사용하여 동작시키기 – Roecrew

+5

'self.physicsBody? .dynamic = true'를 설정해야합니다. – 0x141E

+2

아프리카 또는 유럽식 스위프트? :) 사실, @ 0x141E가 답을 가지고 있습니다. 정적 바디를 움직일 수는 없습니다. – rickster

답변

6

: 물리학 본체는 물리 시뮬레이션에 의해 이동 여부를 나타냅니다

부울 값입니다.

스위프트 선언

var dynamic: Bool

오브젝티브 C

@property(nonatomic, getter=isDynamic) BOOL dynamic

토론

값이 NO이면 물리 본문이 적용되는 모든 힘과 충격을 무시합니다. 이 속성은 가장자리 기반 본문에서 무시됩니다. 그들은 자동으로 정적입니다.

0x141E에서 말한 것처럼 SKPhysicsBody을 동적으로 만들어야합니다. 그렇지 않으면 움직이지 않습니다.

관련 문제