ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

【超初心者向け】Swiftで作る横スクロールアクションゲーム

 

泳げおっさんっていう、横スクロールアクションゲームを作ったので、ちょっとその作り方について書きたいと思います。

 

 

ちなみに横スクロール型のゲームを作ったのは、これが初めてでした。本を見ながらやって、ポンコツながら何とか出来た次第です。一度は作ってみたかったんですよね。横スクロールアクション。

 

 

【追記2016.11.06】

もう一個横スクロールアクションゲームを出してみました。激ムズ4段ジャンプ。

【自作アプリ第11弾】激ムズ4段ジャンプ - ホーリーのプログラミング日記

 

こっちの方が横スクロールゲームって感じですかね。一応マリオ風に仕上げたつもりですw

良かったらプレイしてみてください。作り方は、以下に書いてる書籍とかを参考にしながら作りました。

 

 

参考にした書籍

参考にした書籍は以下の2冊です。どちらもSwiftの本ですね。

 

iPhoneのゲームアプリをつくろう!

iPhoneのゲームアプリをつくろう!

 

  

SpriteKitではじめる2Dゲームプログラミング Swift対応 (Smart Game Developer)

SpriteKitではじめる2Dゲームプログラミング Swift対応 (Smart Game Developer)

 

 

具体的に言うと、SpriteKitで始める2Dゲームプログラミングって本の中に、「横スクロールアクションゲームを作ろう」って章があるんですよ。 基本的にはこれを元に作りました。

でもこれは、ランダムにサンゴが出てきてその間をくぐるゲームなんですよ。僕が作りたかったのはマリオ風の横スクロールアクションゲームだったので、これだけでは足りなかったわけです。

もしもマリオ風でなくて、永遠にループするような横スクロールゲームが作りたい人は、これで十分だと思います。詳しくは本を読んでみてください。

 

んで、マリオ風にするために参考にしたのが、iPhoneのゲームアプリを作ろうって本ですね。

前にこの本を思いっきりパクる感じで、オッサンよけろってゲームを出したんです。このときのコードを参考にしました。

【自作アプリ第五弾】オッサンよけろ - ホーリーのプログラミング日記

 

具体的な作り方

具体的な作り方について書いていきたいと思います。まず僕は背景と地面が永遠にスクロールするようにして、そこに敵と土管とコインを足しました。

背景と地面の永遠スクロールは、SpriteKitで始める2Dゲームプログラミングに書いてるので、それをそのまま書いた次第です。

んで、敵と土管は初期位置を決めておいて、あとは一定のスピードで左に進んで来るようにしたんです。これはiPhoneのゲームアプリを作ろうの本に書いてる、隕石スラロームゲームのそれですね。

 

僕はいつもiPhone6の画面サイズでゲームを作ります。これは750*1334のサイズですね。

んで例えば泳げおっさんの場合、ゴールの位置はx軸で4000の場所なんですよ。当然のように最初は画面外なんですが、そこから4pxのスピードでこっちに向かって来るようにしました。

敵や土管も同じですね。x:2000,y:750みたいな適当な場所に配置して、それを一定速度でこっちに向かわせるようにしました。x軸をマイナス方向に進んで来れば、いつか主人公のキャラと当たるってわけです。

 

背景と地面と土管の速度は同じにしました。これはそのほうが違和感がなかったから。んで敵の速度だけは少し上げた次第です。

えー、まあこの辺は実際にゲームをプレイしていただければ分かるかと。少々クオリティ的に恥ずかしいですけどw

 

 

最後に

僕はこんな感じで横スクロールアクションゲームを作ってみました。とりあえず背景をループさせて、あとは適当に敵を流せばそれっぽく見えますよ。多分w

今度は水中でなくて、普通にジャンプしていくような横スクロールゲームを作ろうと思います。そのときは、またそれを書きますね。