弾幕記述言語BulletMLをJavaScriptで利用するためのユーティリティ集。
enchant.js用プラグイン、tmlib.js用プラグインもあるよ。
BulletMLをJavaScriptで読み込んでいろいろやるためのパーサー。
enchant.jsでBulletMLを利用するためのプラグイン。
使い方はwikiを参照。
tmlib.jsでBulletMLを利用するためのプラグイン。
従来型の、XMLで記述されたBulletMLをロードして実行することができます
// enchant.js
var game = new Game();
game.preload("bulletml.xml");
game.onload = function() {
var attackPattern = game.assets["bulletml.xml");
};
game.start();
JavaScriptによるDSLで弾幕定義を記述することができます
XMLで書くとこんな弾幕も…
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bulletml SYSTEM "http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletml.dtd">
<bulletml xmlns="http://www.asahi-net.or.jp/~cs8k-cyu/bulletml">
<action label="top">
<repeat>
<times>10</times>
<action>
<fire>
<direction type="absolute">60</direction>
<bullet />
</fire>
<wait>5</wait>
</action>
</repeat>
</action>
</bulletml>
DSLで書くとこんなにスッキリ!
var spec = new bulletml.Root({
top: action([
repeat(10, [
fire(direction(60, "absolute"), bullet),
wait(5),
]),
]),
});