bulletml
v0.5.4
Published
bulletml.js ===========
Downloads
4
Readme
bulletml.js
弾幕記述言語BulletMLをJavaScriptで利用するためのユーティリティ集。
enchant.js用プラグイン、tmlib.js用プラグインもあるよ。
Modules
- bulletml.js ... BulletMLをJavaScriptで読み込んでいろいろやるためのライブラリ。
- bulletml.enchant.js ... enchant.jsでBulletMLを利用するためのプラグイン。
- tmlib.bulletml.js ... tmlib.jsでBulletMLを利用するためのプラグイン。
Download
https://github.com/daishihmr/bulletml.js/releases/
CDN site
bulletml.min.js
https://cdn.rawgit.com/daishihmr/bulletml.js/master/build/bulletml.min.js
bulletml.enchant.js
https://cdn.rawgit.com/daishihmr/bulletml.js/master/build/plugins/bulletml.enchant.js
tmlib.bulletml.js
https://cdn.rawgit.com/daishihmr/bulletml.js/master/build/plugins/tmlib.bulletml.js
DEMO
This library is used by ...
FEATURES
Parser
従来型の、XMLで記述されたBulletMLをロードして実行することができます
// enchant.js
var game = new Game();
game.preload("bulletml.xml");
game.onload = function() {
var attackPattern = game.assets["bulletml.xml");
};
game.start();
DSL
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),
]),
]),
});