(1/3)iPhoneゲームをSwift言語で作成してみたいという初心者向けにiOSのゲームフレームワークを使った作り方を一から解説する入門連載。今回は、敵の動きを改善する。GameplayKitのPathfindingを使ったルートの自動探索の使い方についてSpriteKitのSKActionでの実装と比べて解説。前回の「SwiftのSpriteKitで実装—タワーディフェンスゲームの大枠の作り方とコツ」では敵と味方の配置・移動と接触時の処理を実装してきました。ゲームの大枠が見えてきたのではないかと思います。今回は敵の動きを改善しようと思います。今までは敵は真っすぐに移動するだけでしたが今回は道に沿って移動させます。9で登場したばかりの「GameplayKit」という最新フレームワークも利用します。実装に入る前に本連載で作るアプリの完成形を確認しておきます。本連載では下記6つのルールを満たすタワーディフェンスを作っていきます。プレーヤーは開始前に与えられた所持金を元に、敵を攻撃するユニットを設置するゲームは「Wave(ウェーブ)」という単位で行われる。基本的には1つのWaveで登場する敵の種類は1種類のみとなっている。Waveが始まると敵は入口から登場し、目的地に向かって行進する。プレーヤーが設置したユニットは攻撃可能範囲に入ると自動的に攻撃を行う1Waveの敵を全て全滅させるとWaveクリアとなる。プレーヤーは次のWaveが始まるまでにユニットの増強(新設・アップグレード・売却など)を行う以上の2と3を繰り返して行う敵が目的地に到達すると、自分が所持しているライフが減少する。全て失うとゲームオーバーとなるライフを全て失う前に、最終Waveの敵を全て全滅させることができればクリアとなる今回はルール2に関する部分を実装していきます。前回までに実装したアプリの画面(再掲)敵の通る道を2次元配列で作るまずは画面に敵の通る道を表示します。キャラクターだけではなく、道の素材も「ぴぽや倉庫」のものを使わせていただきました。最初に、こちらのFields.zipをダウンロードして、そこから「Field0.png」「Field1.png」という画像を取り出してください。Fields.zipの中身それらをXcodeのAssets.xcassetsファイルにドラッグ&ドロップすると、下図のように登録されると思います。次は、これらの画像をフィールドに表示します。「GameScene.swift」のdidMoveToViewを以下のように書き換えてみましょう。...略}アプリを起動するとフィールド上に敵の通り道が表示されていることが確認できると思います。「0」が草むら、「1」が道の2次元配列フィールドの情報はfieldDataという2次元配列の変数を使って表すようにしました(22〜43行目)。fieldDataの「0」が草むらで、「1」が道を表しています。上図の画面と22〜43行目のソースコードを見比べると、「1」が道になっていることを確認できると思います。...略]フィールドの1パネルの大きさを画面サイズに合わせる今回からはフィールドの1パネルの大きさを画面サイズによって変わるようにしました。することで複数の画面サイズに対応できます。Programについて、その概要とアップルが公開している参考情報をまとめて紹介します。これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。ついてサンプルプログラムを交えて解説します。連携時の呼び出し方は?開発生産性や品質を向上させたいiOSアプリ開発者のためにObjective-CからSwiftへ移行するメリットや手順、注意点など勘所をまとめて紹介します。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。