1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

bulletml.jsの研究 その2

Last updated at Posted at 2021-01-25

概要

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

写真

無題.jpg

参考にしたページ

サンプルコード

<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回繰り返す動作が定義できました。

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

成果物

以上。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?