私は自分のプログラムを実行します。私が "override func sceneDidLoad()"に入れたコードは2回実行されます。sceneDidLoad 2回実行
注:この画像がアップロードされていない理由はわかりませんが、「発生」は2回発生しています。
このコードは、 "sceneDidLoad()"が呼び出されたときに1回だけ実行する必要があります。
ここでは、 "sceneDidLoad"関数と "testSpawn()"関数(重複した出力を与えた関数)のコードを示します。
class GameScene: SKScene {
var mapTerrain: SKTileMapNode!
override func sceneDidLoad() {
cam = SKCameraNode()
cam.xScale = 1
cam.yScale = 1
//do zoom by change in scale in pinch. (E.g. if they start out 5 units apart and end up 15 units apart, zoom by a factor of 3
self.camera = cam
self.addChild(cam)
cam.position = CGPoint(x: 100, y: 100)
setupLayers()
loadSceneNodes()
setUpUI()
testSpawn()
//print("\(self.frame.width), \(self.frame.height)")
}
func testSpawn(){
let RedLegion = legion(texture: textureRedLegion, moveTo: nil, tag: 1, health: 2)
RedLegion.position = mapTerrain.centerOfTile(atColumn: 0, row: 0)
RedLegion.team = "Red"
unitsLayer.addChild(RedLegion)
legionList.append(RedLegion)
print("spawn")
}
}
注:すべてのコードは、(「)(setUpLayers」のような)、ここではない、私はそれを供給することができ、必要であれば、私はちょうどそれがneccessaryではないと思います。
これはバグで、iOS 11.0ベータ版で修正されました。 –