Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。MB)前回までで、プレイヤーキャラクターを操作して、ターゲットとなるハムスターを捕まえるという基本的なゲームの動作を実装しました。今回はゲーム作成には欠かせないタイマー処理を作成していきます。タイマー処理とは定期的に何かの処理を実行する場合や、ゲームの経過時間を表示するなどの用途で利用できます。本記事は以下の環境で開発を進めております。Developでも可)OSについてはWindowsを利用しますが、Macでも同様に開発可能です。Studioを利用しますが、標準のMonoDevelopでもコードは変わりません。サンプルプログラムは本記事開始時(第10回終了直後)のプロジェクトが「project_011_start.unitypackage」、終了時点のプロジェクトが「project_011_end.unitypackage」となります。記事開始時点の状態にする本記事の開始時点の状態から開発を開始する方法を紹介します。project_011_start.unitypackageのダウンロードproject_011_start.unitypackageをダブルクリックすることで既存のプロジェクトにproject_010_start.unitypackageが読み込まれます。Package」でproject_010_start.unitypackageを読み込んでください。Studioを利用しない場合はImport時にUnityVSのチェックを外してください。以上で本記事開始時の状態のプロジェクトが開かれます。今回作成するサンプルを実行する今回作成する内容を実行すると以下のようになります。コードを書き始める前にゴールを確認しておくと理解しやすくなると思います。Playerプラグインを許可する必要があります)タイマー処理の概要タイマー処理の基本は一定期間おきに処理を実行することにあります。Unityはゲーム制作のためのフレームワークということで、実は最初からある程度のお膳立てが整っています。これまで記述してきたプログラムの中でも定期的に呼び出されている処理がありました。Updateメソッドです。UpdateメソッドUnityのGameObjectにスクリプトを追加するとMonoBehaviourクラスを継承したクラスが作成され、初期状態でStartとUpdateの2つのメソッドが記述されていました。StartメソッドはGameObjectの生成時に一度だけ呼び出される、いわゆる初期化処理を記述するためのメソッドです。Updateメソッドはゲーム中に定期的に呼び出されるメソッドです。定期的に何かを実行するような処理はここに記述していけば良いので、タイマー呼び出しのイベントハンドラ―を記述する手間が省けます。今回のゲームはキャラクターを操作して、ハムスターを捕まえればクリアという想定で作成してきました。ゲームオーバーになるケースはゲーム開始から一定時間が経過してしまうとゲームオーバーということにします。ゲームオーバー処理に必要な手順は以下になります。ゲーム開始時の時刻を取得するUpdateメソッドで開始時刻と現在時刻から経過時間を算出する経過時間を画面に表示する経過時間が制限時間を超えていたらゲームオーバー表示ゲームオーバーになる前にハムスターを捕まえたらクリア表示それでは順番に処理を実装していきましょう。Development。Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。NEW1DMM.comの施策から見る、事業をむしばむ「技術負債」への処方箋──リファクタリングの「言語化」でインシデントを予防2企業の7割超が「2025年の崖」を理解していないことが明らかに。12:00法務担当者、6割超が今後業務で「生成AIを使用したい」と回答。新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。