bulletml.jsの研究 その2


概要

bulletml.jsの研究です。
sandbox作ってみた。

写真

参考にしたページ

サンプルコード

<bulletml xmlns="http://www.asahi-net.or.jp/~cs8k-cyu/bulletml">
  <action label="top">
    <repeat>
      <times>100</times>
      <action>
        <fire>
          <direction type="sequence">23</direction>
          <bullet/>
        </fire>
        <wait>1</wait>
      </action>
    </repeat>
  </action>
</bulletml>

説明

action要素がちょっと複雑になってます。

まず最初のアクションはrepeatです。
repeatアクションは、あるアクションを複数回繰り返すときに使います。
繰り返し回数はrepeat要素の中のtimes要素で、繰り返すアクションはaction要素で 指定します。 この例では繰り返し回数は100回、繰り返すアクションは fireアクションとwaitアクションです。

fireアクションでは先ほどはなかったdirection要素が加わっています。 direction要素は弾を撃つ方向を指定します。 direction要素にはtypeが指定できます。typeは以下の3種類があります。

aim - 自機を狙った方向
absolute - 自機に関係ない絶対方向(上が0度で時計回り)
sequence - 直前に撃った方向との相対方向
この場合はsequenceですので、直前に撃った方向との相対方向を指定しています。 単位は度です。この場合は直前から23度ずれた方向に弾を撃ちます。

つぎのwaitアクションは、一定時間待つアクションです。 単位はフレームで、1フレームは約1/60秒です。

ここまでが繰り返すアクションです。これで
直前から23度ずれた方向に弾を撃ち
1フレーム待つ
という動作を100回繰り返す動作が定義できました。

動かしてみると、ある場所からくるくる回転しながら弾をばらまく、 いわゆる回転砲台ができました。

成果物

以上。