ポンクソフト

チュートリアル2(弾発射) - Flash(ActionScript)でゲーム作成入門

前ページ Flash(ActionScript)でゲーム作成入門 TOP 次ページ

目次

  1. Flash(ActionScript)でゲーム作成入門
  2. チュートリアル1(自機移動)
  3. チュートリアル2(弾発射)
  4. チュートリアル3(タイトル画面)
  5. チュートリアル4(敵移動)
  6. チュートリアル5(当たり判定)
  7. チュートリアル6(スコア)
  8. おまけ

弾を発射する

次に、弾を発射するプログラムを作成します。

弾キャラクタの作成

Flash のステージ上に適当な大きさで弾を描き、「Tama」という名前でムービークリップに変換します。ライブラリパネルにシンボルがあることを確認してください。
library_tama.gif
「プロパティ」パネルからインスタンス名に「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 のタイムラインです。
前ページ Flash(ActionScript)でゲーム作成入門 TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0