ポンクソフト

チュートリアル4(敵移動) - Flash(ActionScript)でゲーム作成入門

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

目次

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

敵登場

敵を登場させ、動かすプログラムを作成します。

敵キャラクタの作成

フレーム2をクリックし、ステージ上に適当な大きさで敵キャラクタを描き、「Teki」という名前でムービークリップに変換し、「プロパティ」パネルからインスタンス名に「teki_mc」と名前を付けます。
さらに敵キャラクタを画面外の右側に配置します。
↓このあたり
teki_haichi.gif

敵のインスタンスに ActionScript を割り当てる

ステージ上の敵インスタンスをクリックして、以下の ActionScript を記述します。
onClipEvent(load) {
  speed = 8;
}

onClipEvent(enterFrame) {
  _x -= speed;
  if (_x < 0) {
    _x = Stage.width;
    _y = Math.random() * Stage.height;
    speed++;
  }
}

ムービーの実行

ムービープレビューを実行してみてください。敵が画面外に消えるたびにスピードが速くなります。

.fla ファイルダウンロード

プログラムの説明

onClipEvent(load) {
  speed = 8;
}
初期設定として、敵のスピードを 8 とします。インスタンスのアクションに変数を定義すると、それぞれのインスタンスが独自に持っている変数となり、自分用のプロパティのように使うことができます。
onClipEvent(enterFrame) {
  _x -= speed;
  if (_x < 0) {
    _x = Stage.width;
    _y = Math.random() * Stage.height;
    speed++;
  }
}
毎フレームの処理では、まず x 座標を speed 分だけ右に移動し、左端に消えたらまた右端から出てくるようにしています。その際、上下の位置はランダムにしています。Math クラスの random は 0 以上 1 未満のランダムな実数を取得するメソッドです。それにステージの高さを掛けることによって上下の位置をランダムにしています。
最後にスピードを 1 増やして再登場させます。
前ページ Flash(ActionScript)でゲーム作成入門 TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:


名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/01/13 17:04

名無しのリーク
香川県ルー餃子のフジフーヅはバイトにパワハラの末指切断の重傷を負わせた犯罪企業
2017/01/13 17:03

名無しのリーク
香川県さぬき市ルーちゃん餃子のフジフーヅは派遣にパワハラで指切断の重傷を負わせた糞ブラック企業
2017/01/11 00:34

名無しのリーク
香川県さぬき市ルーちゃん餃子のフジフーヅは派遣にパワハラで指切断の重傷を負わせた糞ブラック企業
2017/01/11 00:34

古羽嘉禎
ActionScript3.0出来ないな…
2016/12/05 17:33


↓ここで何関係ないことつぶやいてんのやら
2016/12/02 14:55

名無しのリーク
香川県ルーちゃん餃子のフジフーヅはバイトにパワハラの末指切断の大けがを負わせた犯罪企業
2016/10/11 17:02

naga3
お使いのFlashのバージョンと、
OSを教えてもらえませんか?
2013/05/25 08:50

dhipo2
度々すみません・・・
このページとは、
ゴルフゲームのページの一番上の事です。
よろしくお願いします。
2013/05/19 10:39

chipo2
このページの一番上の方の”実行画面”が、動かないのですが・・・
正確に言うと、矢印は動くのですが、
クリックしても、ボールが飛ばないのです・・・。
(ボールが飛んだような絵が一瞬出て、戻ってしまいます)
私のPCのフラッシュのバージョンが古いとかいった理由でしょうか・・・;;
すみませんが、教えてください。
2013/05/19 10:37

残りを読む »