Flash Liteでゲームを作ろう!

ゲームの概要 前回(http://www.thinkit.co.jp/article/144/3/)は、Flash Lite 1.1での時計待ち受けを作成してみましたが、今回は、簡単なゲームサンプルの解説をしていきます。

古本 光司

2008年10月22日 20:00

ゲームの概要

 前回(http://www.thinkit.co.jp/article/144/3/)は、Flash Lite 1.1での時計待ち受けを作成してみましたが、今回は、簡単なゲームサンプルの解説をしていきます。

 ゲームを作る時の基本的な注意点はキーの割り当てです。第2回(http://www.thinkit.co.jp/article/144/2/)で説明したように、Flash Lite 1.1のキーイベントでキャリア対応を考慮した場合、左右のキーを使用することができません。そのため、基本として数字のキーを割り当てていくこととなります。例えばキャラクターを上下左右に動かす場合などは「2」「8」「4」「6」などのキーを使用すると良いでしょう。今回のゲームも、すべての数字キーを使用する内容となります。

 ゲームの内容として、まず数字がランダムに表示されます。その表示された数字のキーを素早く押すと得点が加算されるというものです。数字はしばらくたつと消えてしまい、再度新しい数字が表示されていきます。一定時間内に数字キーを押せなかった、間違った場合は減点の対象とします。これを一定時間の間に繰り返し、タイムオーバーとなった時点で得点の結果が表示されるという流れになります。

構成とポイント

 まずはこちらからサンプルをダウンロード(http://www.thinkit.co.jp/images/article/144/4/14441.zip)してください(14441.zip/32.2 KB)。このサンプルファイルに沿って解説していきます。

 Flashファイルを開いてタイムラインを確認してみてください。図1のような3つで構成されています(ラベルを見ると分かりやすいです)。

 また、タイムラインの最後に「hit」と「miss」というラベルがあります。これはfunctionの代わりとなるcall()処理のために用意したラベルとなります。

 まずラベル「title」ですが、タイトルである「集中力ゲーム」という文字と説明文が配置してあります。ここでポイントとなるのが説明文は画像で作成されているということです。

 Flash Lite 1.1でもデバイスフォントを使用することができますが、機種によって表示が変わる場合があります。画像だと機種に依存されずに表示できるため、すべて画像で配置しています。また「集中力ゲーム」という文字については、フォントを指定しているため埋め込みフォントの扱いとなりますが、フォントデータがswfファイルに埋め込まれるため、機種に依存されずに表示されます。

 しかし、デメリットとしてデータ容量が重くなってくるので注意が必要です。もちろん容量の点を考慮した場合、デバイスフォントを使用した方が良いのですが、一部の機種で思い通りのレイアウトでフォントが表示されない可能性も考えられます。コンテンツの目的やターゲットから対応機種の範囲を定め、デバイスフォントを使用するかしないかを決めていくと良いでしょう。

 次に、下部に配置してあるスタートボタンを押すとゲームがスタートします。

 スタートボタンは数字キー「0」にも対応させています。ボタンのスクリプトは下記になります。

on (press, keyPress "0") {
gotoAndPlay("setNo");
}

 onハンドラで「press」「keyPress "0"」と2つ同時に記述することができます。さらにスタートボタンが押されると「setNo」フレームへジャンプします。

 そしてタイムラインには、下記のように成功と失敗をカウントするための変数を用意しています。

countOK = 0; //成功カウント
countNG = 0; //失敗カウント

 また、スタートボタンの背景部分の色を変えるため、矩形(くけい)ツールで四角い図形を配置しているのですが、見て分かるようにステージサイズをはみ出して配置されています。

 その理由としては、機種によって画面サイズが異なるためswfファイルは自動的に拡大縮小されて表示されてします。必ずしも縦横比がステージサイズと一致するとは限りませんので、横か高さかどちらかが途中で途切れる状態で表示されてしまいます(ほとんどは高さが途中で途切れる)。この状態でも背景の色が途切れないよう、このようにわざと図形をはみ出させて配置している結果、ステージサイズが途中で途切れてもきちんと背景が表示されます。

 次に、ゲームのメインとなる部分を解説していきます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30