SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習 Unity 2Dゲーム開発

速習 Unity 2Dゲーム開発
~第11回 タイマー処理

速習 Unity 2Dゲーム開発 第11回

  • このエントリーをはてなブックマークに追加

 前回までで、プレイヤーキャラクターを操作して、ターゲットとなるハムスターを捕まえるという基本的なゲームの動作を実装しました。今回はゲーム作成には欠かせないタイマー処理を作成していきます。タイマー処理とは定期的に何かの処理を実行する場合や、ゲームの経過時間を表示するなどの用途で利用できます。

  • このエントリーをはてなブックマークに追加

本記事の環境

 本記事は以下の環境で開発を進めております。

  • 開発OS:Windows OS(UnityはMac OSでも同様に開発可能)
  • Unity:4.6
  • 開発言語:C#
  • IDE:Visual Studio 2013 + Visual Studio Tools for Unity(標準のMono Developでも可)

 OSについてはWindowsを利用しますが、Macでも同様に開発可能です。IDEにVisual Studioを利用しますが、標準のMonoDevelopでもコードは変わりません。

 サンプルプログラムは本記事開始時(第10回終了直後)のプロジェクトが「project_011_start.unitypackage」、終了時点のプロジェクトが「project_011_end.unitypackage」となります。

記事開始時点の状態にする

 本記事の開始時点の状態から開発を開始する方法を紹介します。

project_011_start.unitypackageのダウンロード

 project_011_start.unitypackageをダブルクリックすることで既存のプロジェクトにproject_010_start.unitypackageが読み込まれます。

 新規プロジェクトで開始する場合は、新しいプロジェクトを作成したのち、上部メニューの「Assets」→「Import Package」→「Custom Package」でproject_010_start.unitypackageを読み込んでください。

 IDEにVisual Studioを利用しない場合はImport時にUnityVSのチェックを外してください。

 以上で本記事開始時の状態のプロジェクトが開かれます。

今回作成するサンプルを実行する

 今回作成する内容を実行すると以下のようになります。コードを書き始める前にゴールを確認しておくと理解しやすくなると思います。

タイマー処理の概要

 タイマー処理の基本は一定期間おきに処理を実行することにあります。

 Unityはゲーム制作のためのフレームワークということで、実は最初からある程度のお膳立てが整っています。これまで記述してきたプログラムの中でも定期的に呼び出されている処理がありました。そう、Updateメソッドです。

Updateメソッド

 UnityのGameObjectにスクリプトを追加するとMonoBehaviourクラスを継承したクラスが作成され、初期状態でStartとUpdateの2つのメソッドが記述されていました。

 StartメソッドはGameObjectの生成時に一度だけ呼び出される、いわゆる初期化処理を記述するためのメソッドです。Updateメソッドはゲーム中に定期的に呼び出されるメソッドです。定期的に何かを実行するような処理はここに記述していけば良いので、タイマー呼び出しのイベントハンドラ―を記述する手間が省けます。

ゲームオーバー処理

 今回のゲームはキャラクターを操作して、ハムスターを捕まえればクリアという想定で作成してきました。ゲームオーバーになるケースはゲーム開始から一定時間が経過してしまうとゲームオーバーということにします。ゲームオーバー処理に必要な手順は以下になります。

  • ゲーム開始時の時刻を取得する
  • Updateメソッドで開始時刻と現在時刻から経過時間を算出する
  • 経過時間を画面に表示する
  • 経過時間が制限時間を超えていたらゲームオーバー表示
  • ゲームオーバーになる前にハムスターを捕まえたらクリア表示

 それでは順番に処理を実装していきましょう。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
ゲームオーバーの実装

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
速習 Unity 2Dゲーム開発連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8397 2015/02/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング