Skip to content
楢崎大志 edited this page Jul 15, 2014 · 3 revisions

bulletml.js DSL Reference

action

弾のアクションを定義します。

Actionオブジェクトを返します。

BulletMLのactionタグに相当します。

usage

action([
    fire(bullet()),
    fire(bullet()),
    fire(bullet()),
])

parameter

  • commands {...Command} Commandの配列

actionRef

ラベル付けされたActionを参照します。 この要素は同名のラベルでラベル付けされたActionと同じに扱われます。

参照されたAction内の変数は、argsに指定された値に置き換えられます。

ActionRefオブジェクトを返します。

BulletMLのactionRefタグに相当します。

usage

actionRef("fireNWay", 20, 3, "-5 + $rand * 10")

parameter

  • label {string} ラベル
  • args {...(number|string)} 参照先アクションへ渡す引数(可変長)

bullet

弾の方向、速度およびアクションを定義します。

Bulletオブジェクトを返します。

BulletMLのbulletタグに相当します。

usage

bullet(direction(-5), speed(0.1, "sequence"), bullet())

parameter

  • direction {Direction} 初期方向
  • speed {Speed} 初期速度
  • action {Action|ActionRef} 弾が実行するアクション

引数の順番は自由

bulletRef

ラベル付けされたBulletを参照します。 この要素は同名のラベルでラベル付けされたBulletと同じに扱われます。

参照されたBullet内の変数は、argsに指定された値に置き換えられます。

BulletRefオブジェクトを返します。

BulletMLのbulletRefタグに相当します。

usage

bulletRef("redLarge")

parameter

  • label {string} ラベル
  • args {...(number|string)} 参照先アクションへ渡す引数(可変長)

fire

弾を度方向に速度で撃ちます。

Fireオブジェクトを返します。

BulletMLのfireタグに相当します。

usage

fire(direction(-5), speed(0.1, "sequence"), bullet())

parameter

  • bullet {Bullet} 発射する弾
  • direction {Direction} 発射方向
  • speed {Speed} 発射速度
  • offsetX {OffsetX}
  • offsetY {OffsetY}
  • autonomy {Autonomy}

引数の順番は自由

fireRef

ラベル付けされたFireを参照します。 この要素は同名のラベルでラベル付けされたFireと同じに扱われます。

参照されたFire内の変数は、argsに指定された値に置き換えられます。

FireRefオブジェクトを返します。

BulletMLのfireRefタグに相当します。

usage

fireRef("nWay", 5, 10)

parameter

  • label ラベル
  • args {...(number|string)} 参照先アクションへ渡す引数(可変長)

changeDirection

弾の方向を度にフレームかけて曲げます。

ChangeDirectionオブジェクトを返します。

BulletMLのchangeDirectionタグに相当します。

parameter

  • direction {Direction} 変更先方向
  • term {number|string} 変更に要するフレーム数

changeSpeed

弾の速度をにフレームかけて変えます。

ChangeSpeedオブジェクトを返します。

BulletMLのchangeSpeedタグに相当します。

parameter

  • speed {Speed} 変更先速度
  • term {number|string} 変更に要するフレーム数

accel

弾を水平方向に、垂直方向に、 フレームかけて加速します。

Accelオブジェクトを返します。

BulletMLのaccelタグに相当します。

parameter

  • horizontal {Horizontal} 水平方向加速度
  • vertical {Vertical} 垂直方向加速度
  • term {number|string} 変更に要するフレーム数

wait

フレーム待ちます。

Waitオブジェクトを返します。

BulletMLのwaitタグに相当します。

parameter

  • value {number|string} 待機するフレーム数

vanish

Vanishオブジェクトを返します。

BulletMLのvanishタグに相当します。

parameter

引数なし

repeat

アクションを回繰り返します。

Repeatオブジェクトを返します。

BulletMLのrepeatタグに相当します。

usage

fire(direction(-30), bullet()),
repeat(29, [
    fire(direction(2, "relative"), bullet()),
])

parameter

  • times {number|string} 繰り返し回数
  • action {Command[]} 繰り返すアクション

bindVar

変数に値を代入します。

変数は以降のDSL内で、接頭字"$"を付けることで参照できます。

Bindオブジェクトを返します。

bulletml.jsの独自拡張です。

usage

bindVar("count", 12),
repeat("$count", [
    fire(bullet()),
    wait(20)
])

parameter

  • variable {string} 変数名
  • expression {number|string} 代入する値または式

notify

攻撃者(敵)にイベントを通知します。

Notifyオブジェクトを返します。

bulletml.jsの独自拡張です。

usage

notify("end")

parameter

  • eventName {string} イベント名
  • params {...(number|string)} イベントパラメータ(可変長)

direction

方向を度単位で指定します。

typeが"aim"の場合、自機を狙う方向が0の相対値になります。

typeが"absolute"の場合、は絶対値(上方向が0で時計回り)です。

typeが"relative"の場合、はこの弾の方向が0の相対値になります。

typeが"sequence"の場合、直前の弾を撃った方向が0の相対値になります。

Directionオブジェクトを返します。

BulletMLのdirectionタグに相当します。

parameter

  • value {number|string} 角度
  • type {string} タイプ。"aim", "sequence", "absolute", "relative"のいずれか

speed

速度を指定します。

typeが"relative"の場合、 changeSpeed要素内では現在の弾の速度との相対値、それ以外の要素内ではこの弾の速度との相対値です。

typeが"sequence"の場合、 changeSpeed要素内では弾の速度を連続的に変化させ、それ以外の要素内では直前の弾の速度との相対値です。

Speedオブジェクトを返します。

BulletMLのspeedタグに相当します。

parameter

  • value {number|string} 速度
  • type {string} タイプ。"sequence", "absolute", "relative"のいずれか

horizontal

水平方向の弾の加速度を指定します。

typeが"relative"の場合、現在の弾の速度との相対値です。

typeが"sequence"の場合、加速度を連続的に変化させます。

Horizontalオブジェクトを返します。

BulletMLのhorizontalタグに相当します。

parameter

  • value {number|string} 加速度
  • type {string} タイプ。"sequence", "absolute", "relative"のいずれか

vertical

垂直方向の弾の加速度を指定します。

typeが"sequence"の場合、現在の弾の速度との相対値です。

typeが"sequence"の場合、加速度を連続的に変化させます。

Verticalオブジェクトを返します。

BulletMLのverticalタグに相当します。

parameter

  • value {number|string} 加速度
  • type {string} タイプ。"sequence", "absolute", "relative"のいずれか

offsetX

弾の発射位置を敵の座標から水平方向にずらします。

OffsetXオブジェクトを返します。

bulletml.jsの独自拡張です。

parameter

  • x {number} x座標

offsetY

弾の発射位置を敵の座標から垂直方向にずらします。

OffsetYオブジェクトを返します。

bulletml.jsの独自拡張です。

parameter

  • y {number} y座標

autonomy

砲塔に自律照準を行わせるかを設定します。

自律照準を行う場合、offsetX/offsetYで発射位置をずらした時、自機狙い弾をその位置からの相対角度で射出します。

Autonomyオブジェクトを返します。

bulletml.jsの独自拡張です。

parameter

  • autonomy {boolean} 自律照準を行うか

変数

$1...

$rand

$loop

$loop.index

$loop.count

$loop.first

$loop.last