■第04章 : Flash(フラッシュ)ゲーム制作講座[変数をもっと深く①/ゲーム基礎編]
[2013年11月11日 更新]
対応バージョンはFlash MXです。アクションスクリプトは1.0です。
さて、みなさん

(浜村淳 風)
変数とは何かというのを第3回にて書いております。
変数を理解しないことにはゲームを作ることは不可能、これも
第3回で書いていたと思います。
変数をうまく使うことでゲームの進行などがスムーズに行くわけです。
変数というのはいろいろな
型(種類)があるのです。
Flashではあまり意識しなくても何となく使っていればいいように思えますが、
多少変数を理解してきたならば、型は意識しないと痛い目に遭います。
まー、その辺は後にして、変数とはスコアや残機、HPやMPなどに
使用することも説明いたしました。
それ以外に変数の使い方として、「
フラグ」として使うと言うことをお話しします。
フラグ=旗なのですが、なんぞや?とおもいますよね。
結構、ゲーム作りでは「
フラグを立てる」という言葉を頻繁に使うのです。
これは難しく考える必要はありません。簡単です。
たとえばRPGなどで、あるボスを倒したとします。この
「
あるボスを倒したということを知らせるスイッチ」がフラグなのです。
なので、
「倒していない」「倒した」の2種類で良いのです。
これをフラグと呼びます。まぁ、細かいことを言うと、2種類でおさまらない
フラグもあるのですが、まず、2種類のフラグから説明しましょう。
他のプログラミング言語ではこの2種類のフラグを
「boolean」(ブール、ブーラン?ブーリアン?)といい、「bool」と書くことがあります。
読みはブールで良いんじゃないでしょうか?詳しくはプログラマーさんに聞いてください(笑)
僕はブールと言います。
JOKERさんからのコメントで、アクションスクリプトでは
「ブーリアン」が正しいという回答を頂きました。御協力、ありがとうございます。
そういうわけで「ブーリアン」と覚えてください。m(_ _)m
で、2種類しか値がないのです。つまり
ON OFFです。
boolの値は
true=真
false=偽
となります。
どっちがどういう使い方、、、、とかはありませんが
わかりやすくするために、あるボスAを倒していない場合はfalse、
倒したらtrueにする、のような使い方をします。
仮に変数testの判定をif文で書くときは
if(test){
//処理
}
等にした場合、条件は「testが真の場合」と言う意味になります。
他の書き方としては
if(test==true){}
と書いたりしますが、test==trueと書くならば
if(test)の方が早いのでそちらになれる方がイイと思います。
(=を2つ連続で==と入力することで
変数testがtrueと同じ場合という式になります。)
ifのカッコの後に変数名をそのまま入れるとtrueの時に
{}内の処理を実行すると言うことになります。
if(test){
//真の処理
}else
{
//偽の処理
}
上記のプログラムに
elseという物が出てきました。
elseとは
それ以外の場合と言えばわかってもらえますでしょうか。
つまり上記のプログラムは、
「もしtestがtrueなら真の処理、それ以外(false)ならば偽の処理」
てな風になるのです。
ちなみにelse{}は無くても大丈夫です。
if(){}があればelseは必要有りません。
ただ、逆にelse{}だけではエラーになります。御注意ください。
flashでフラグを使用する場合は
test=
true;
test=
false;
のように書き、true、falseと言った値は
青色になります。
先ほどのif文は「真の場合」と言う意味でしたが
逆に「
偽の場合」と書きたいときがあると思います。
if(test){}だと「真」ですが、
if(!test){}と
変数の頭に「
!」をつけると「否定」になります。つまり「~~じゃない場合」
という感じですかね。testの頭に!をつけて!test、つまり
testがtrueじゃない場合(ブールなのでtrueとfalseしかありません。)
つまりはfalseの場合となるのです。
真の使い方、!による偽の使い方を覚えていると良いでしょう。
フラグの使い方ですが基本的にON OFFという値しか持ちません、
それに適応する処理に使うのです。当たり前ですが…。
例えば、ポーズ(休憩)のON OFF、ONでポーズボタンを押したらOFFにするとか
または逆とか。
フラグ処理の組み合わせにより、例えば
ボスAを倒した→フラグを立てる
フラグが立ったらトビラが開く。のような処理を作ることが出来るのです。
うーん、、、、、、もっとわかりやすく書こうと思うので
めげずに見てやってくださいませ。
次の回までしばらくお待ちください……。
ご意見、ご感想はGon-Fla.netのコメント掲示板に書き込みください。
2011/03/10 現在スパム対策のためBBSは使用できなくなっております・・・
申し訳ございません。