新ブログ「ごんフラブログG2」

WordPressで始めてみました

[海外]バンドルされた複数のゲーム・PCアプリが購入できるサイト
humblebundle.com


ごんたろうのぼやきトップ

2009年03月20日

[第7回]Flash(フラッシュ)ゲーム制作講座@フラグ、forループのサンプル。

ずいぶん間が空いてしまいました・・・すみません。

過去の講座内容を御覧になられたい方は下記のリンクを・・・
プログラマじゃない人のためのflashゲーム講座カテゴリ


さて、みなさん右斜め上(浜村淳 風)

前に変数はもう終わりと書いたものの、ここでフラグのお話をすると言うことは
変数のお話をすると言うことです。ごめんなさい。
フラグもループも実行してみないとワカラナイと思います。
なので、ここにswfのデータとflaデータを公開しておきます。
swfをいじり、flaデータを見て研究してみて下さい。

ブログの仕様上、別ウインドウで表示するしかないので
ここをクリックしてちょうだい!!(swfファイルが表示されます・別窓)


↑変な言い方ですが、上記のflaデータを理解しないことには
 ゲーム作りは難しいと言えるでしょう・・・↑
以上…。
posted by ごんたろう(Gontaro-Soft) at 03:01 | Comment(0) | TrackBack(0) | Flashゲーム制作講座

2009年02月05日

[第6回]Flash(フラッシュ)ゲーム制作講座@1〜5回のまとめ

当Flash講座はFlash MX(Action Script1.0?)に対応しています。
2.0までは大丈夫だと思いますが、3.0では記述の仕方が変わると思われるので
そのままでは使用できないことがあります。

過去の講座リンクです。
*全講座(カテゴリ選択)*
第1回(HPにあります)
【第2回 Flash制作講座[準備編/ラベル]】
[第3回]Flash(フラッシュ)ゲーム制作講座[ゲーム基礎編]
[第4回]Flash(フラッシュ)ゲーム制作講座[変数をもっと深く@/ゲーム基礎編]
[第5回]Flash(フラッシュ)ゲーム制作講座[変数をもっと深くA/ゲーム基礎編]

------------------------
さて、みなさん右斜め上(浜村淳 風)

今回は1〜5回の講座をイメージ付きでまとめてみたいと思います。
イメージがないとなかなかわかりにくいので・・・。

■第1回のまとめ
なんでもいいので、オブジェクト(物体)を作り、シンボルに変換。
タイプを「ムービークリップ」にする。(例では輪郭付きの正方形を作成)

作成したムービークリップを左から右に移動させるという簡単なスクリプトを
組むというもの。

●図1−1

●図1−2

●図1−3

●図1−4

●図1−5


上記を実行すると、ムービークリップオブジェクトが左から
右へ移動する。ただし、ステージの右端を越えたらオブジェクトは見えなくなるが
そのまま移動し続けるので注意。


■第2回のまとめ
┗ラベルをマスターする。
●図2−1


ラベルはgotoAndPlay()やgotoAndStop()使用時に
とても役に立つものです。場面場面を制御するのに最適。
是非覚えましょう。


変数は「値を入れる箱」です。
第3回にもあるようにプレイヤーのhpやスコアなどを
格納するときに使います。
そして配列、配列は変数の固まりというか、
「箱の中に小さな箱がいっぱいある」とでも言いましょうか。
配列は[]内に数値を入れることでその番地の値を表示(参照)できます。
配列はnew array();で宣言する必要がある、ということです。
[]内の数値は「0」からはじまる。

例:
hairetsu=new Array();

hairetsu[0]=52;


変数のスイッチ、「フラグ」とよばれるものの1つに
「ブーリアン」型というものが存在します。
true、falseの二つの値です。
もちろん、3つ4つのスイッチが必要ならば
数値を使用してもかまいません。

こんな感じでしょうか。
次の回はフラグとループをやってみましょう。
以上。
posted by ごんたろう(Gontaro-Soft) at 16:57 | Comment(0) | TrackBack(0) | Flashゲーム制作講座

2009年01月24日

[第5回]Flash(フラッシュ)ゲーム制作講座[変数をもっと深くA/ゲーム基礎編]

いずれリニューアルして、再度文章などを確認し
作り直すことも考えております故、
気長に見ていただくと嬉しいです。


第1回(HPにあります)
【第2回 Flash制作講座[準備編/ラベル]】
[第3回]Flash(フラッシュ)ゲーム制作講座[ゲーム基礎編]
[第4回]Flash(フラッシュ)ゲーム制作講座[変数をもっと深く@/ゲーム基礎編]

------------------------
さて、みなさん右斜め上(浜村淳 風)

しつこく変数をお勉強してみましょう。変数はこの回で終わります。
変数は1つの値しかもてません。

簡単な小規模のゲームを作る場合は意識しなくても良いかと思いますが
(小規模でもどんなゲームによるんですけどね)
例えばRPGで各キャラのパラメータ
レベル、MAXHP、HP、MAXMP、MPなどを扱いたい場合
普通に変数を一個一個用意しても良いですが、
その場合、処理が面倒くさくなったり、管理がしにくくなります。
いや、出来ないわけではないんですけど、効率が凄く悪いです。
で、こういう場合にあるプレイヤーabcさんの複数のパラメータをもてる
変数の集まりというのが存在します。
この変数を「配列」この配列というものもあらゆるプログラミング言語で出てきます。
さて、この配列ですが、flashの場合ちょっとだけ癖があります。
変数に関して、Flash以外の言語C言語やjava、basicなどは
変数を使う前に「変数を作りますよー」ということをコンピュータに知らせるために
宣言」と言うことをします。
難しく考える必要はありません。例えば「testという変数を作りますよー」ってな
ことを書くのです。
flashの場合、こういう処理は必要なかったりします。
(やった方が良いんですけど、やらなくても動きます)
で、この変数の宣言はflashでは必要ないのですが、配列の場合は違います。
この変数は配列ですよってことを宣言しなくてはなりません。

ちなみに変数の宣言と配列の宣言の書き方を下記に記します。
----------------
//変数testの宣言
var test;
//配列の宣言
hairetsu=new Array();
---------------------
上記の
hairetsu=new Array();
で「hairetsu」という配列が作られました。
配列を作る場合は絶対にこの宣言が必要です。

で、この配列のどこに複数のパラメータを入れることが出来るのか?
ということですが、配列名に番号を振ってやるのです。
そうすることでhairetsuの1番目にレベル、2番目にhpのように
値を代入することが可能です。


ここで注意するべき点ですが、番号は1が最初ではなく「0が最初」になります。
さぁ、どんな書き方をするのか?下記に記します。
------------
hairetsu[0]=0;//レベル
hairetsu[1]=20;//MAXHP
hairetsu[2]=hairetsu[1];//HP
hairetsu[3]=5;//MAXMP
hairetsu[4]=hairetsu[3];//MP
------------
てな風に変数のお尻に「[]をつけて[]内に数値(番地)」を書くのです。
で、配列の2と4が数値ではなく、配列名になっております。
まぁ、そんなに難しいことではありませんが、HPよりも先にMAXHPを定義しておき
そのMAXHPの値をHPに入れているのです。
仮に
hairetsu[1]=20;//MAXHP
hairetsu[2]=20;//HP
のように書くと、MAXHPの値が変更になった場合、MAXHPとHPの両方を
書き換えなくてはなりません。
面倒くさいですよね。HPにMAXHPの値を代入することで
書き換える手間が1つ省けます。同時にMAXHPが20なのにHPが30とかに
なることも防げます。一石二鳥です。

さて、この配列の便利なところは[]内が数値のため
番号を指定しなくても、数値の入った変数を代入することで
各配列の番地にアクセスすることが出来るという点です。
どういうコトかと言いますと
例えば、trace()と言う関数があります。
trace()の()の中に何か文字や、数値、変数、プロパティを入れ、
flashアプリからのムービーを実行するとその値が出力ウィンドウに表示される
というものです。

このtraceを使って例を説明します。
まだ、ここまでの回では説明していませんが、forループ文というものがあります。
ループ?無限ループとか良く言いますが、そのループです。
同じ処理を何回か繰り返す、と言うときに使います。
forループの説明は別の回にするとして、とりあえずforループと配列を
使った例を書きます。

--------------
for(a=0;a<=4;a++){
trace(hairetsu[a]);
}
--------------
と書くと、先ほど書いた値が出力ウインドウに表記されます。
ループを使わないで書くと
trace(hairetsu[0]);
trace(hairetsu[1]);
trace(hairetsu[2]);
trace(hairetsu[3]);
trace(hairetsu[4]);
のようになります。
10個くらいまでは良いとして
100とかあったら嫌でしょ?(笑)
面倒くさいでしょ?(笑)
そういう場合に配列やループ文は重宝するのです。

ちなみにテトリスや、戦略系シミュレーションゲーム(マスのあるヤツ)などは
配列を上手く使って作るのですよ。


以上。
posted by ごんたろう(Gontaro-Soft) at 16:57 | Comment(0) | TrackBack(0) | Flashゲーム制作講座
ブログランキング・にほんブログ村へ
にほんブログ村

インターネット・コンピュータランキング