はじめてのiOSアプリ開発

プレイ画面からタイトル画面に戻るようにしてみよう

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
プレイ開始から一定時間が経過したところで、自動的にタイトル画面に戻るようにする方法を説明します。
講師:
07:11

字幕

このレッスンでは プレイ開始から一定時間が経過したところで 自動的にタイトル画面に戻るようにする 方法を説明したいと思います まず現在の状態を確認しておきたいと思います 現在はMain.storyboardの中で ゲーム開始ボタンが押された時に ここから伸びているセグウェイを使って このゲームビューコントローラが 表示されるという形になっています 一定時間経過した後にこの GameViewControllerからまた このタイトル画面のView Controllerに 戻したいと思いますので 今回はこのGameViewControler.mの中で どうやってタイトルの方に戻すのか ということがメインとなってきます とは言っても ゲームが終了したかどうかということを まず知る必要がありますので GameScene.mの中に 少しコードを追加して ゲームが終了したということを 判断できるようにしたいと思います 今回 ゲームの実行が行われてから ゲームが終了したと判定するためには 一定時間が経過したかどうかという ことで判断することができます ゲームを一度実行してみますが ゲームを実行して プレイ開始ボタンを押して このゲーム開始から一定時間経つと 風船が上の方に 飛び上がってしまいますので だいたい1, 2, 3, 4, 5秒ぐらい 経ったところで もうゲームがこれ以上 続けられないという状態になります ですので一定時間経ったということが 確認できれば それでもうゲーム終了と 判断してしまっていいのです そこでゲームが現在何秒経ったのか ということを確認するために 今回はこの変数を一つ追加します 今回追加する変数の名前は framesという名前にします ここでゲームの中で覚えていただきたい フレームという単位があるのですが ゲームは1/60秒という単位で 動作しています 1/60秒間に1回 ゲームのキャラクターが どういう風に動くかということが 判断されて動かされているので 実は かなり下の方を見ていただきますと ここにupdate: currentTimeという メソッドがあるのですが 1/60秒ごとに必ず1回この updateというメソッドが 呼ばれるようになっています ですのでこのframesという変数で 現在何回このupdateが呼ばれたのか ということをカウントすることで ゲームの時間が確認できるようになります では実際に このframesの初期化を行ってから コードを追加していきたいと思います まずゲームが起動した後 didMoveToViewというのが 呼ばれますので ここで frames = 0 として 変数を初期化しておきます そしてこのframesという変数を使って このupdateの関数 updateのメソッドを 使って frames++ と書いて ゲーム開始から何フレーム経ったのかと いうことが ここで確認できるようにします 何フレーム経ったのかというときに 60フレーム経ったらこれが 1秒経ったということになりますから 先ほど何となく5秒ぐらいかなと 言いましたけれど もしもこのframesというのが 1/60秒かける5秒間分 経ったらこれが 5秒ということです 要するに300ですね この300フレーム経ったところで ゲーム画面に戻るという ことができれば良いわけです 次に ゲーム画面に戻るということを 書いてやりたいのですが そのためには この ViewControllerというものに このGameSceneの中から アクセスする必要がありますので ここがちょっと高度になってしまって 申し訳ないのですけれど GameScene.hというところに このViewControllerをもらうための 仕組みを用意します このGameScene.hの @interfaceと@endの間に @propertyと書いて UIViewController そして*controllerという 変数を一つ用意します そしてこの変数に対して このGameViewController.m というファイルの中で ちょっと下の方に行きますね ここでGameSceneを 作っているところが ここにあるんですけれど このGameSceneに対して このcontrollerが 自分自身だということを宣言する こういうコードを書いてやることによって 書いたのは2行なんですけれども このGameViewController.mの ここの行と それから GameScene.hのここの行 この2行のコードを書いてやることによって GameScene.mの中で タイトルに戻るということが self.controllerに対して dismissViewControllerAnimated 変数の この引数はyes そしてcompletionのところには nilと書いて これでアニメーションしながら タイトル画面に戻るということが 記述できるようになります では実際にアプリケーションを 実行してみましょう そしてゲーム開始ボタンを押します そして1, 2, 3, 4, 5秒 経ったところで このようにゲームのタイトル画面に 戻るようになりました 実際にこれで風船を割った後 ちゃんとこの風船の数が ユーザが見えているかどうか ということを確認しながら 何秒が良いのかということを 適切に判断して 色々調整して行っていただければ 良いかなと思います このレッスンでは プレイ開始から一定時間が経過したところで 自動的にタイトル画面に戻る方法を 説明しました これでこのBalloon Catchという ゲームが完成しました

はじめてのiOSアプリ開発

このコースではXcodeを使ったiOS用アプリの開発に必要な基礎知識を学びます。Xcodeの基本的な使い方から本格的なゲーム制作のためのSprite Kitを用いた制作方法まで、カウントダウンタイマーやスピード暗算ゲームなど3つの簡単なiOS用アプリを作りながら説明します。このコースを見れば、本当に必要なアプリ開発の知識を着実に身に付けられるでしょう!

5時間55分 (52 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年06月04日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。