質問: speed } } } //素早く繰り返す仕組み最速で1/60秒ごとに呼び出される override func update(currentTime: CFTimeInterval) { moveEnemy() } } ```
回答: `for i in 0 ... enemyCount`も気になったんですが、 それ以前に`initEnemy()`をどこから呼び出していますか? `initEnemy()`が最初にちゃんと呼び出されていれば、その中で`for i in 0 ... enemyCount`を使って0〜enemyCount(8)までの9個分の要素が作られるので、 `moveEnemy()`の中で`for i in 0 ... enemyCount`で処理しても一応0〜enemyCount(8)までの9個分の処理がされるだろうと思いました。 (たぶん、本当は8個分作って処理したかったのだと思いますので、そうするにはyubaさんの回答を読んでください) で、ここで例外が発生したということは、そもそも`initEnemy()`がどこからも呼ばれてなくて enemySpriteやenemySpeedの配列要素が1個も作られていないような気がしたのですがいかがでしょうか? こういうエラーで悩むということは、基本的なプログラムのデバッグ方法がわかってないのだと思いますので、 等を参考に、実行しているプログラムを途中で止めて、その時の変数状態を確認する方法を身につけることをお勧めします。 それができるようになれば自分でいろいろ調べて解決できます。