■第03章 : Flash(フラッシュ)ゲーム制作講座[ゲーム基礎編]
[2013年11月11日 更新]
対応バージョンはFlash MXです。アクションスクリプトは1.0です。
プログラムなんてやったことないけどFlashは好き。
だからFlashでゲームを作ってみたい、と言う人のための
ゲーム制作講座です。私はプログラマーではありません。
我流なのです。ホントに。
さて、みなさん

(浜村淳 風)
ゲームプログラミングとは、他のプログラムでも同じなのですが
全てをプログラミングしなければいけません、当たり前ですが。
どういうコトかと言いますと、ポーズ画面を表示して
画面を止めたり、画面を切り替えたり、リセットボタンを
作ろうと思ったら、最初の画面に戻るだけでなく、
設定の値を初期化したりとか。
ゲームプログラミングを始めると
裏方的な作業が凄く多いと言うことがわかってもらえるかと思います。
で、簡単に言いますと、Flashゲーム制作で最低限必要な知識は
┗①Flashの基礎、
フレームやインスタンス、シンボルなど
フラッシュコンテンツを作る最低限の知識。
┗②
変数の理解(後述)
┗②
if文(条件分岐)の理解、switch文もあればよりよい。(後述)
┗③
for文、while文などのループ文(後述、次の回で)
┗④どういうゲームを作るかにもよるが、ほとんどのゲームで使う
いわゆる
当たり判定(接触判定)について。(後日)
┗⑤キャラ描きなど(MovieClipを理解していると楽!)
だいたいこんな感じなんですよね。
当然、Flashでのボタンクリックなど基礎の使い方を使用するのは
当たり前なのですが。
①はここでは省略いたします。ワカラナイ人はコメントにでも
書いていただけると説明できるかも・・・。<出来なくても怒らないでね
【②】
まず②について(変数)
変数とはなんぞや?なのですが。
固定されていない変動する数。というといいかも?
さてこれはどういうことか。
変数というのは
「箱」を想定してください。
数値や文字などを入れる
「箱」です。
よくゲームなどでは、スコア(得点)、残機、RPGのHP、MP
等を想像していただいたらわかるかと思います。
これらの数は一定で止まらずに動きますよね。
特にHPなんかは減ったり増えたり。
プログラミングではこういう変動する値はどうやっているのでしょう?
プログラミングで画面に数値などを表示するときに
1とか2等を書いたらそのまま数値は変わりません。
ですが、変数と呼ばれる値を書くと、その変数がもっている
値を表示することが出来るのです。
例えばHP等を表示するときに数値をかくのではなく
変数の名称を書くのです。そうすると変数の値が表示されます。
この
変数というものはゲームプログラミングには必須です。
これがワカラナイとなるとゲームは作れないと言っても
過言ではありません。
そして、この変数を使って様々なことが出来ます。
変数というのは、変数の名称を書き、それに値を入れます。
例:player_life=5;
player_lifeというのが変数の名称で5というのは値
変数の名称=値;
上記の式を変数に代入。(変数player_lifeに5を代入とか言います)
こんな感じで変数に値を代入することが出来ます。
式を書けば変数をいろんな値に変化させることが出来ます。
変数hpを使ってRPGを想定すると
敵の攻撃!とか表示させた後で
敵の攻撃力、プレイヤーの防御力を計算し、差を出します。
その差をhpから引いて、hpが0になったら死ぬとか
例えばこんな感じです。
敵の攻撃力(teki):10
プレイヤーの防御力(player_def):5
ダメージ(damage):0
damage=teki-player_def
hp=hp-damage(hp-=damageも同様の式)
のようになります。ダメージを決める際、乱数(ランダム)を発生させて
ダメージを決めるとより一層楽しくなるでしょう。
変数についてはわかっていただけましたか?
変数のお約束事は別の機会に。
質問のある方はコメントにお願いいたします。
【③】
次、③について(if~文)
さて、この「if」(いふ)文ですが、なんぞや?と言う方も
いらっしゃるのではないでしょうか。
これは英語です。if、もしも~ならという意味です。
日本語で考えたらだいぶ楽になると思うのですが、
第1回にも記述しましたが、「日本語でプログラミングを考える」ことを
すると、プログラミングに行き詰まっても解決しやすいです。
ifというのは「もし~なら」ですが、例えば
【プレイヤーの撃った弾がもし敵に当たったら】とか
【プレイヤーの残機が0だったら】とかそんな感じで考えます。
ifの使い方は条件を書き、それから結果を書くと言うことになります。
どういうことか。上記の例を使用すると
【プレイヤーの撃った弾がもし敵に当たったら[条件]、
その敵はやられる(ダメージを受ける)[結果]】、
【プレイヤーの残機が0だったら[条件]、
ゲームオーバーでタイトルに戻る[結果]】
こんな感じでわかっていただけますでしょうか。
if文の書き方は
if(条件式){
結果
}
になり、例を書くと
if(player_hp<=0){
ゲームオーバーの処理
}
の様になります。
さて、条件式の欄に書いたモノはなんぞや?ですが、
変数のトコロに出てきた「player_hp」はわかりますね。
あとは0、それと「<=」ですが><の記号は等号ですね
どちらが大きいか小さいかというやつです。
<=は「以上」という意味です。
日本語で書くと「もし変数player_hpが0以下だったら」
(0がplayer_hpより大きかったら)
という意味になります。
次の回までしばらくお待ちください……。
ご意見、ご感想はGon-Fla.netのコメント掲示板に書き込みください。
2011/03/10 現在スパム対策のためBBSは使用できなくなっております・・・
申し訳ございません。