2015-06-23 96 views
2

https://github.com/lemubru/zombie --link到Xcode項目Swift SpriteKit靜態節點在旋轉嗎?

我創造我的比賽地板,並添加敵方士兵spritenodes,我也從一個槍射擊spritenode子彈。

玩了大約1分鐘的遊戲後,地板似乎開始旋轉並擊中了所有其他節點。

floor.position = CGPointMake(size.width/2,size.height/2 - 130) 
    floor.name = "floor" //add reference to the button. 
    floor.zPosition = 1 
    addChild(floor) 

    floor.physicsBody = SKPhysicsBody(texture: floor.texture, size: floor.size) 
    floor.physicsBody?.dynamic = false 
    floor.physicsBody?.affectedByGravity = false 
    floor.physicsBody?.allowsRotation = false 
    floor.physicsBody?.usesPreciseCollisionDetection = true 
+0

嘗試打開調試物理,以查看發生這種情況時物理實體的外觀。 –

回答

0

有時會發生這種情況,當您的地板瓦節點重疊並且另一個物理機構正在對其施加力時。確保你的瓷磚不重疊,並運行一些更多的測試。

在附註中,您不應該爲地板使用PreciseCollisionDetection,因爲它會產生額外開銷。而是將其用於子彈等快速移動的節點。

+0

謝謝你的回答,地板磚絕對不重疊。我不斷在地板上產卵敵人,並不斷地在地板上射出子彈,以便跳入敵人士兵節點:意義在地板上碰撞很多,這只是一個錯誤嗎? –

+0

@FrankduPlessis - 碰撞次數應該對靜態瓷磚移動沒有影響。我建議你仔細檢查一下是否確實沒有重疊。如果是這種情況,您可以嘗試使用SKConstraint將節點鎖定到位。 https://developer.apple.com/library/prerelease/mac/documentation/SpriteKit/Reference/SKConstraint_Ref/index.html – sangony

相關問題