4.7では動作しません。サンプルをちょいと動かしてみてください。先ほどのページで右に書かれているのがBulletMLで書かれている弾幕記述です。BulletMLの書き方を説明するため、簡単な例を書いてみましょう。以下のように書いてみます。方向はVerticalにして縦シューモードにしましょう。label="top"><fire><bullet/></fire></action></bulletml>スタートを押すと、自分を狙った弾が飛んでくると思います。label="top">と</action>の中に書いてあります。action要素の中には弾幕発射のアクションを書きます。この場合はfireアクション、つまり弾を1つ発射するというアクションが記述されています。いうことが記述できます。この例では方向と速度は省略、弾の種類も指定していません。すると、デフォルトの自機を狙う弾が発射されます。こった発射のしかたをしてみましょう。<wait>1</wait></action></repeat></action></bulletml>action要素がちょっと複雑になってます。最初のアクションはrepeatです。repeatアクションは、あるアクションを複数回繰り返すときに使います。fireアクションとwaitアクションです。fireアクションでは先ほどはなかったdirection要素が加わっています。direction要素は弾を撃つ方向を指定します。direction要素にはtypeが指定できます。typeは以下の3種類があります。直前に撃った方向との相対方向この場合はsequenceですので、直前に撃った方向との相対方向を指定しています。この場合は直前から23度ずれた方向に弾を撃ちます。つぎのwaitアクションは、一定時間待つアクションです。単位はフレームで、1フレームは約1/60秒です。ここまでが繰り返すアクションです。これで直前から23度ずれた方向に弾を撃ち1フレーム待つという動作を100回繰り返す動作が定義できました。いわゆる回転砲台ができました。BulletMLでは、弾の飛び方を定義することもできます。</changeDirection></action></bullet></bulletml>撃ち方は変わってませんが、撃つ弾の定義、bulletがbulletRefに変わっています。bulletRefは、その後ろのlabelでラベルづけされたbulletの要素を参照します。この例だと、action要素の下にあるstraightラベルがついたbullet要素です。bullet要素の中をみてみましょう。bullet要素の中にもアクションが書かれています。最初はwaitアクションです。ここでは待つフレーム数の中に数式がかかれています。このように、数を指定するところでは、数式を用いることもできます。この例では20から70(20+50)のフレーム数待つように書かれています。その次はchangeDirectionアクションです。指定された方向に弾を向けます。この場合はabsolute180度ですので、真下です。その次のterm要素は、何フレームかけて方向を曲げるかを書きます。この場合は10フレームかけて少しずつ下方向に弾を曲げます。スタートしてみましょう。プロギアの2ボスっぽいですね。最終形態のサンプルがありますので、そちらもあわせてご覧ください。くわしい説明については以下をごらんください。DTD定義ダウンロードBulletMLのRELAX定義およびデモソフトウェアはフリーソフトウェアです。以下からダウンロードできます。bulletml0_21.zip(112,411バイト)活用事例BulletMLの活用事例をご紹介。利用させていただいています。Gamesトップページへ。