當您按下下面調用add()函數的按鈕時,這個簡單的項目將在該字段的中心插入一個方形Sprite。在模擬器中,當你添加多個精靈時,它會將其他人推開,所以當你按下它一堆時,你會得到... screen shot from simulator, iphone 6, iOS 9.2,這是我想要的行爲。Sprite在模擬器中顯示,不在設備上
但在我的iPhone上運行相同的代碼,之後加入相同數量的精靈得到這個... screen show from physical iphone 6, iOS 9.2
下面是從GameScene.swift代碼:
import SpriteKit
class GameScene: SKScene {
override init(size: CGSize) {
super.init(size:size)
self.physicsWorld.gravity = CGVectorMake(0, -1.0)
let worldBorder = SKPhysicsBody(edgeLoopFromRect: self.frame)
self.physicsBody = worldBorder
self.physicsBody?.friction = 0.5
}
func add()
{
let sprite = SKSpriteNode(color: UIColor.blueColor(), size: CGSize(width: 10, height: 10))
sprite.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
sprite.physicsBody = SKPhysicsBody(circleOfRadius: 8)
sprite.physicsBody?.friction = 0.0
sprite.physicsBody?.affectedByGravity = false
sprite.physicsBody?.restitution = 0.5
sprite.physicsBody?.linearDamping = 0.5
addChild(sprite)
}
required init?(coder aDecoder: NSCoder)
{
super.init(coder: aDecoder)
}
}
我要去哪裏錯誤?如何在真正的iPhone上獲得我想要的行爲?
你需要使用圓形物理實體嗎?這適用於'SKPhysicsBody(rectangleOfSize:sprite.size)'。 –
哇你是對的,但不幸的是我想要一個圓形物理體,因爲每個精靈的圖形都是圓形的,它就像一個正在成長的圓形細胞羣。事實上,最初我使用的圓形SKShapeNodes具有相同的結果;我切換到SKSpriteNodes只是爲了看看它是否能解決問題。 – Christopher