こんにちは、のっくんです。
SpriteKitには「SpriteKit Scene」というキャラクターを配置するためのファイルが用意されています。
これを使ってキャラクターをセットしてみました。
ハエとカエルがいます。
コードで追加することもできますが、SpriteKit Sceneだとより簡単にキャラをセットできます。
プレイヤーが進むごとに現れるステージ画面をエンカウンターと呼びます。
エンカウンターには多くの敵やアイテムをセットする必要があるため、SpriteKit Scene(.sks)を使うのが良いでしょう。
作成したエンカウンターにいるキャラの位置情報は以下のコードで、SKNodeとして保存しておきます。
import SpriteKit class EncounterManager { var encounters:[SKNode] = [] init(){ let fileNames = ["EncounterA","EncounterB"] for f in fileNames{ let scene = SKScene(fileNamed: f) let encounterNode = SKNode() for child in scene!.children{ let node = type(of: child).init() node.position = child.position node.name = child.name encounterNode.addChild(node) } encounters.append(encounterNode) } } }
続いて保存したSKNodeをGameScene.swiftに加える処理を書きます。
1つのエンカウンターの横幅を900としているので「900*エンカウンター数」として、x軸のポジションをセットしています。
let EM = EncounterManager() func addEncounter(){ for i in 0..<EM.encounters.count{ let node = EM.encounters[i] node.position = CGPoint(x: 900*i,y: 0) self.addChild(node) } }
こんな感じです。
敵キャラが登場してきて少しずつゲームらしくなってきました。
今後はCollisionイベントを設定して敵キャラとぶつかった時の処理を追加していきたいです。