チュートリアル2(弾発射) - Flash(ActionScript)でゲーム作成入門
目次
- Flash(ActionScript)でゲーム作成入門
- チュートリアル1(自機移動)
- チュートリアル2(弾発射)
- チュートリアル3(タイトル画面)
- チュートリアル4(敵移動)
- チュートリアル5(当たり判定)
- チュートリアル6(スコア)
- おまけ
弾を発射する
次に、弾を発射するプログラムを作成します。弾キャラクタの作成
Flash のステージ上に適当な大きさで弾を描き、「Tama」という名前でムービークリップに変換します。ライブラリパネルにシンボルがあることを確認してください。「プロパティ」パネルからインスタンス名に「tama_mc」と名前を付けます。
弾のインスタンスに ActionScript を割り当てる
ステージ上の弾インスタンスをクリックして、以下の ActionScript を記述します。
onClipEvent(load) {
_visible = false;
}
onClipEvent(enterFrame) {
if (_visible) {
_x += 16;
if (_x > Stage.width) _visible = false;
}
}
onClipEvent(mouseDown) {
if (!_visible) {
_x = _root.jiki_mc._x;
_y = _root.jiki_mc._y;
_visible = true;
}
}
ムービーの実行
ムービープレビューを実行してみてください。クリックによって弾を発射できます。.fla ファイルダウンロード
プログラムの説明
onClipEvent(load) {
_visible = false;
}
onClipEvent(load) はムービークリップが画面に読み込まれたときに実行されるアクションです。一度実行されたら、インスタンスが消えない限り再度実行されることは無いので、初期設定を記述するのに最適です。今回は弾の _visible プロパティに false を代入することにより、最初に実行されたときは弾を消すようにしています。
onClipEvent(enterFrame) {
if (_visible) {
_x += 16;
if (_x > Stage.width) _visible = false;
}
}
毎フレーム常に実行されるアクションです。_visible プロパティが true、つまり弾が画面上に存在するならば、弾の x 座標に 16 を加え右に移動します。次に 弾が画面外に出たら _visible プロパティを false にして弾を消しています。Stage はステージに関する情報を保持するクラスで、width プロパティによりステージの横幅を取得することができます。Stage クラスはオブジェクトを作成しなくてもプロパティ・メソッドを使用することができます。
onClipEvent(mouseDown) {
if (!_visible) {
_x = _root.jiki_mc._x;
_y = _root.jiki_mc._y;
_visible = true;
}
}
onClipEvent(mouseDown) はマウスが押下されたときに実行されるアクションです。まず _visible プロパティをチェックし、弾が画面上になければ発射します。弾の座標を自機と同じ座標にし、弾を見えるようにします。_root は全てのムービークリップの親となるムービークリップで、要するにステージのことです。最初に見えているタイムラインが _root のタイムラインです。