Flash/ActionScript

Flashで神経衰弱を作る!(3ページ目)

カードが合うことで、お好みの写真が徐々に見えてくる神経衰弱を作成します。配列・random()・if文・for文と今までの基本を組み合わせてチャレンジしましょう!

執筆者:渡辺 大介

正否を判定して、カードを非表示にする

以下のActionscriptをレイヤー「action」の15フレーム目にあるキーフレームに記述してください。

if(questionCard != answerCard&&questionColor == answerColor){

		answerCard._visible = false;
		questionCard._visible = false;
	}else{
		answerCard.blindfold._visible = true;
		questionCard.blindfold._visible = true;
}

gotoAndStop(2);
1行目のif文が今回のポイントです。まず「questionCard != answerCard」最初に選んだカードと二枚目のカードが同じカードではない場合という意味です。カードの色だけを判定してしまうと、同じカードを二回選んだ場合も含まれてしまうのでこの条件が必要です。続いて「questionColor == answerColor」という条件です。これで色を示すフレーム番号が同じということになります。この二つの条件が共に成り立っている場合の「&&」で結ばれているので、全体では「別のカードで同じ色の物が揃った場合」という条件になります。

2行目からが正解だった場合に実行される処理です。この場合選んだ2枚のカードが非表示になり、背景の写真がちょっと見えるようになります。
5行目からが不正解だった場合の処理です。選んだ2枚のカードには再び目隠し用のインスタンス「blindfold」が表示され、何色か分からないカードとなります。


これで完成です!完成したFlashファイルをダウンロード

出来てしまえば特に新しいActionscriptが登場したわけでもないですし、簡単なことを繰り返して神経衰弱を作ることが出来ると気付いていただけたと思います。しかし、カードゲームを作る場合はルールによっては非常に複雑な条件分岐が必要となり難しそうに見えてしまうものです。最初にしっかり全体の流れを書き出していくことが必要ですね。

さて、今回色を示すラベルを付けているのにも関わらず「_currentframe」を使っていますよね。「_currentlabel」というプロパティを使ったことがあると思っていた方も少なくないと思います。Actionscript3.0では「_currentlabel」が存在するのですが、今回はFlash8向けに記述している関係で使用出来なかったためです。言語のバージョンに合わせて少しずつ便利になっていくものですね。
【編集部おすすめの購入サイト】
Amazonで Flash 関連の書籍をチェック!楽天市場で Flash 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます