swift spritekit を使用してアクションゲームを制作しています。カスタムクラスを使って複数の敵に同じ動作をさせたいのですがやり方がわかりません。「teki1」は動くのですが、「teki2」にもmoveteki()を命令した場合は、「teki1」しか動きません。
teki1,teki2に同じ関数を使う場合どうすれば良いでしょうか。よろしくお願いいたします。
GameScene.sksファイルで敵を配置し、GameScene.sksファイルのcustom classにEnemyNodeと入力しています。
class GameScene: SKScene,SKPhysicsContactDelegate { override func didMove(to view: SKView) { let teki1 = childNode(withName: "teki1") as! EnemyNode teki1.moveteki() let teki2 = childNode(withName: "teki2") as! EnemyNode teki2.moveteki() }~~打ち消し線~~ }
class EnemyNode: SKSpriteNode { func moveteki() { let move = SKAction.moveBy(x: 0, y: 100, duration: 1) let move2 = SKAction.moveBy(x: 0, y: -100, duration: 1) let ren = SKAction.sequence([move,move2]) self.run(SKAction.repeatForever(ren)) } }
回答1件
あなたの回答
tips
プレビュー