FlashLite1.xのActionScriptの底力を知ろう!擬似配列を使ったデータ上のシャッフル複数のオブジェクトやデータを一様に扱いたい場合,たいていのプログラム言語では,配列というデータ構造を利用する。Flashでもバージョン5のActionScriptからこの"配列"が使えるようになった。Flash4のスクリプト仕様を踏襲するFlashLite1.xのスクリプトには,この配列がない。その代わりとして用いられている方法が,擬似配列である。今回作成する"神経衰弱ゲーム"の場合,場に並ぶ8枚のカード(とそのパラメタを管理するための変数)を,この擬似配列で作成する。(1)擬似配列の作り方いきなり⁠”擬似配列⁠”などと仰々しい名前を出して脅かしてしまったかも知れないが,実の所は普通のオブジェクトであり,普通の変数だ。そのインスタンス名(もしくは変数名)を末尾のみ連番とした統一の名前で命名すれば良いのだ。phase3の「カードを選ぶ,めくる(プレイ部分⁠)⁠」においては,"場"に8枚分のカードクリップのインスタンスが並ぶことになるが,これらのインスタンス名をCard0~Card7とするだけで,擬似配列は利用可能なのだ。ゲームクリップ上に配置したオブジェクトご覧いただけば分かるように各カードクリップは,ゲームクリップ上に直接配置しているわけではなく,プレイクリップを介している。プレイクリップのインスタンス名は,"CardPlay"である。前回の復習になるがカードクリップは,1フレーム目に裏模様のイメージを,2フレーム目以降に52枚分のカードパターンを,すべて持っている。フレームアクションとして,1フレーム目にstopが記述されているため,初期状態では裏向きのまま停止しているのだ。したがってカードがめくられた場合には,2フレーム目以降のどこかのフレームにgotoAndStopでジャンプすれば,そのフレームに設定したマークやナンバーを表示することができる。ここでカードは,何度もめくられたり戻されたりする点に注意が必要である。めくられる度にカードのマークやナンバーが変わってしまったのでは,ゲームにならない。そこでカードごとに,ジャンプすべきフレーム番号を保持する変数が必要になる。この変数は8枚のカードそれぞれに対応しているため,カードのインスタンス名と同様に擬似配列とした方が扱いやすい。そこで,各カードのマークやナンバーを保持する変数として,CardVal0~CardVal7を設定することにする。(3)シャッフルさせるスクリプトゲームクリップの1フレーム目にカードをシャッフルさせるスクリプトを記述する。カードそのものをシャッフルさせる必要はない。CardVal0~CardVal7に設定するフレーム番号をシャッフルさせるだけで良いのだ。カードをシャッフルさせるスクリプトの記述場所ここに記述するスクリプトは次のようなものだ。//選択候補カードのインデックスList1をご覧いただけばわかるように,このフレームで行っている処理は大きく6つのブロックに分けることができる(リスト内1~6⁠)⁠。ここで4と6は,カードのシャッフルには直接関係ない処理なので後回しとし,残る4つのブロックを順に解説することにしよう。アニメーターを経て,ゲームクリエイターとなる。ゲーム制作では,企画シナリオ,ディレクション,絵関連など幅広くこなし,ゲームクリエイターとして現在で19年となる。ゲームスクール,アミューズメントメディア総合学院にて,創立年から企画系講師を行い,クリエイター育成にも携わっている。現在は,マネジメントを行いつつ,コンシューマゲーム,ケータイコンテンツ,書籍執筆,その他様々なプロジェクトを進めている。Studio無限界URL:http://www.mugenkai.com/藤田和久(ふじたかずひさ)プログラマ/テクニカルスーパーバイザー。メインフレームと呼ばれる大型コンピュータのシステム開発から,WebサイトのCGI,そしてケータイFlashに至るまで様々な環境のプログラミングに携わる。現在はStudio無限界の活動の傍ら,都内複数の専門学校において講師として,ゲーム制作,Webサイト制作,システムエンジニアリングなどの授業を担当。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。