第4回

prev slash top slash next

第4回:Shoot the Bullet!

弾を撃つ

今回は弾を撃ってみましょう。
弾を撃つには、「発射位置」,「弾速情報」,「発射角度」,「弾の画像」などが必要です。
弾を撃つには[CreateShot01]を使います。
これは[@Initialize]内に書くと1発しか発射されないので、[@MainLoop]内に書きます。

それでは実際に書いてみましょう。

#東方弾幕風
#Title[敵の出現]
#Text[敵の出現]
#ScriptVersion[2]
script_enemy_main
{
 @Initialize{
  SetX(GetCenterX);
  SetY(GetClipMinY+120);
  SetLife(2000);
  LoadGraphic("script\img\ExRumia.png");
  SetTexture("script\img\ExRumia.png");
  SetGraphicRect(0, 0, 63, 63);
 }
 @MainLoop{
  SetCollisionA(GetX, GetY, 24);
  SetCollisionB(GetX, GetY, 24);
  CreateShot01(GetX, GetY, 2, 90, BLUE01, 10);
  yield;
 }
 @DrawLoop{
  DrawGraphic(GetX, GetY);
 }
}

CreateShot01

  • GetX, GetY: 発射位置の決定

  • 2: 弾速(1フレームあたりに進むピクセル数)

  • 90: 発射角度

  • BLUE01: 弾の種類

  • 10: 実体化するまでの時間(フレーム)

この場合、
[敵の位置に弾速2,角度90度,BLUE01の弾を10フレーム遅延させて発射]
ということになります。


角度について

角度は、右を0度として時計回りで増えていきます。(通常は反時計回り)
角度に360の整数倍した数を足しても引いてもかまいません。
-90 度と 270 度は同じもので、±180 度で表現することも可能です。

画像は 0から始める弾幕作成 〜 東方弾幕風講座より引用(というか講座のほとんどが引用だったり)

角度について

弾の画像は、東方弾幕風ヘルプの 「弾の画像について」を読んでください。
決して説明が面倒とかそんなんじゃないです。

とりあえず、「CreateShot01を使えば弾を発射できる」ということを分かってもらえればそれでいいです。
次回はこのプログラムを改良していってみましょう。


top
prev slash next
inserted by FC2 system