2
我更改了我的SKSpriteNode的錨點,但似乎SKPhysicalBody不正確。Sprite套件 - 更改SKShapeNode的錨點不會改變SKPhysicalBody位置
沒有設置我的精靈的錨點,它會出現在屏幕之外,使用錨點解決了這個問題。 但設置錨點後,身體仍處於之前的位置(改變錨點之前)
func addGround() {
let gSize = CGSizeMake(self.size.width/4*3, 120);
let ground = SKSpriteNode(color: SKColor.brownColor(), size: gSize);
ground.name = gName;
ground.anchorPoint = CGPointZero
ground.position = CGPointMake(0, 0);
ground.physicsBody = SKPhysicsBody(rectangleOfSize: ground.size);
ground.physicsBody.restitution = 0.0;
ground.physicsBody.friction = 0.0;
ground.physicsBody.angularDamping = 0.0;
ground.physicsBody.linearDamping = 0.0;
ground.physicsBody.allowsRotation = false;
ground.physicsBody.usesPreciseCollisionDetection = true; //accurate collision
ground.physicsBody.affectedByGravity = false;
ground.physicsBody.dynamic = false;
ground.physicsBody.categoryBitMask = gBitmask;
ground.physicsBody.collisionBitMask = pBitmask;
}
盒子繪製正確的,但使skView.showPhysics
向我表明的身體仍然不正確。
左側是物理體在屏幕中間看到的箱.... 物理學身體向左側斜下來。
您可以添加屏幕截圖嗎? –
在設置ground.position之前設置你的錨點 – meisenman
@ 0x7fffffff已添加屏幕截圖 – junyi00