我遇到了這個奇怪的問題。我使用addChild從GameScene didMove(查看:SKView)中添加敵人(SKSpriteNode)。
敵人已定位到x:100,y:100,並且它看起來正確。 我也有另一個動畫,完成我在同一個位置添加另一個敵人。但敵人出現在不同的位置。完成區塊如下所示。在SkAction完成處理程序中定位SkSpriteNode
holeExplosion.runHoleExplosionAction {[unowned self] in
//self.addEnemy(enemyCount: 1, hole: holeExplosion)
var modEnemy: ParentEnemy? = nil
modEnemy = Enemy1(imageNamed: "Zombie1Jump1.png", healthPower:30)
print(" \(self.scene?.position.x) \(self.scene?.parent) ")
self.addChild(modEnemy!)
modEnemy!.enemySpeed = self.enemy1Speed
modEnemy!.name = "enemy1"
modEnemy!.position = CGPoint (x: 100 , y: 100)
modEnemy!.zPosition = 2
}
任何幫助,將不勝感激。謝謝。
「self」不是場景,self是爆炸節點,需要用self.scene.addChild(modEnemy!)添加到場景中 – Knight0fDragon
我用self.scene.add檢查過,它仍然顯示在同一位置。 – vaishakh
你是什麼意思它「顯示」,位置是相對於父母,而不是絕對的。如果父母在10歲,孩子在20歲,那麼實際上孩子在30歲,但只會顯示20年。 – Knight0fDragon