Bulletnote MEMO
to index
更新履歴(update 2003/12/25)
「Bulletnote」とは?
ABA Gamesで公開されている弾幕記述言語BulletMLを、IBMが開発したJava統合開発環境「Eclipse」上で開発できるようにするプラグインです。
Eclipseを使うので、なんとなく真面目な開発をしているように見えます。なので、これでお仕事中にも弾幕が好きなだけ定義できます。
ここでは、「Bulletnote」を使う上で困ったこととかつまづいたところなど、Eclipseの件も交えてつらつらと書こうと思います。
このページに関してのご指摘は、ABA Gamesではなくこちらまでお願いします。
まず、インストール
まずは、本家Bulletnoteのページを読みましょう。
実は、ここでよくわからず、二回ほど失敗してしまいました。
で、試した結果インストール手順は以下のような感じになってるっぽい。ちょっとくどいけど。
01.Eclipseのダウンロード、解凍
02.Bulletnoteのダウンロード、解凍
03.Bulletnote解凍後にできる「jp.gr.javaconf.abagames.bulletnote_?.?.?フォルダ」(?はバージョン番号)をEclipseの「pluginsフォルダ」にコピー
04.Eclipseを起動
05.「File→Import」を選択
06.「Import」ダイアログの中の「External Plug-ins and Fragments」を選択して「Next」を押す
07.「External Plug-ins and Fragments」ダイアログはそのまま「Next」を押す
08.「Import Plug-ins and Fragments」ダイアログで、まず「jp.gr.javaconf.abagames.bulletnote_?.?.?」以外のプラグインを選択
09.「Add Required Plug-ins」ボタンを押して「Finish」を押す
10.終わったら再度「Import Plug-ins and Fragments」ダイアログまでいく(手順は同じ)
11.今度は「jp.gr.javaconf.abagames.bulletnote_?.?.?」のみを選択して「Finish」ボタンを押す
12.「Window→Open Perspective→Other」を選択
13.「Select Perspective」ダイアログで「Bulletnote」を選択、「OK」ボタンを押す
これで、完了。インストールが無事終わるはずです。
プレビューできないBulletMLエディタ
ここまでくれば、あとは弾幕を定義する、だけなのですが、自分はここで困ったことになりました。
実は、このPluginの肝である「プレビュアー」が出ないのです。出るのは「An error occurred when creating this view」というエラーダイアログ。
これではいけません。このままではEclipseは「大仰なBulletMLエディタ」になってしまいます。
しかもセーブすると「save faild:null」なんて出てくる始末。エディタにすらならないのか?(実際はセーブはされていた)
ここで二日ほど悩みましたが、とある別の環境で試してみた結果、原因がわかりました。
「EclipseはJavaの統合開発環境」であることを、すっかり忘れていたのです。
いや、本当は「BulletML統合開発環境」であることばかりに目がいってて、「Java統合開発環境」という事に気がついてなかったのですが。
自分の環境を調べてみると、入っていたのは「Java2 Runtime 1.3.1」という「動かすためだけのランタイム」しか入っていませんでした。これでは動くわけがありません。
で、Java本家のページからJava2 SDK, Standard Edition (J2SETM), v 1.4.0をダウンロードしてインストールしてみた結果、何事も無かったように動きました。
もし「1.3.1SDK入れてるのに動かない」という方がいらしたら、「1.4.0」以降をインストールしてみましょう。
弾幕を定義しよう
ようやく弾幕を定義できるところまでこぎつけました。
弾幕を定義するときに注意する点は、ここの「使い方」の下の方にも書かれてますが・・・、
01.「<!DOCTYPE bulletml SYSTEM "http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/bulletml.dtd">」をBulletMLドキュメントに含める
02.ラベル名が'top'から始まるAction要素を記述する必要がある
以上の二点ですか。まあ、BulletMLに慣れ親しんでいる方ならこの辺で戸惑うことは無いかと。
(後で簡単な記述例を示します)
さて、早速Eclipseで弾幕を定義するために「弾幕プロジェクト」を作成しましょう。
プロジェクトの作成は簡単。
01.「File→New→Project」を選択
02.「New Project」ダイアログで「Simple」(左側)と「Project」(右側)を選択し、「Next」ボタンを押す
03.「Project Name」エディットボックスにお好きな名前を入れて「Finish」ボタンを押す
以上。これでプロジェクトができました。項目03で、間違えて「Next」を押しそうになりますが、グッと我慢してください。
では、弾幕を定義しましょう。
01.「File→New→File」を選択
02.「New File」ダイアログの下にある「File name」エディットボックスに、お好きなファイル名を入力(拡張子「.xml」付きで)
03.「Finish」ボタンを押す
とした上で、出てきたウィンドウにペシペシ弾幕定義を記述するだけです。
とりあえず、試しに下記の弾幕をコピペして、セーブしてみてください。
("ABA Games"から引用させていただきました)
<?xml version="1.0" ?>
<!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">
<fire>
<bullet/>
</fire>
</action>
</bulletml>
上記の定義は、「自機の狙った方に弾を吐く」ですが、現状では自機は中心下方(のよう)なので、見た目には真下にまっすぐ弾を撃つだけに見えると思います。それで、正解です。
さあみなさんも、これを使って思う存分弾幕を定義しましょう。幕じゃなくても良いけど。
BulletMLのリファレンスに関してはこちらをご覧ください。また、こちらに、様々な弾幕定義があります。
その他、困ったこと
Q.「Perspective」してもプレビュアーが出ない(エラーも出ない)し、出てきた「Bマーク」を押したら増殖する(2003/1/15)
A.「jp.gr.javaconf.abagames.bulletnote_?.?.?フォルダ」以下のファイルを全て解凍していないかな?「eo」などの解凍ツールを使って「徹底解凍」などすると、この現象が起こるようです。
詳しい理由はわかりませんが、「.jar」ファイルが解凍されているといけないようです。
Q.Eclipsでプレビューした弾道と、ここで実行した弾道の結果が違うんですが(2003/1/17)
A.弾幕の記述方法が何らかしら間違っているかもしれませんが、ひょっとしたら、Eclips上とアプレット上の計算による誤差が出ているのかもしれません。
気になるようでしたら、極力同じになるようにパラメータなどを調整するしかないでしょう。
Q.「<param>〜</param>」を「bulletRef」に渡すと、Taskでエラーと出てしまうのですが?実際に組み込めばうまく動きます。(2003/11/09)
A.<param>で渡したパラメータを、<speed>や<direction>等で使用するとこうなるようです。これはBulletNOTEのバグのようです。
素直にバグフィックスを待ちましょう。それまでは、とりあえずは直値を代入するなりして動作を確認しましょう。
Q.以下のような「レベルが上がると敵弾の間隔が狭まる」弾を定義をしたら、
<direction type="aim">($rand*120-60)*(1-$rank)</direction>
プレビューでは「自機方向」にしか弾が飛ばない。実際に組み込むとちゃんと動作するのですが。(2003/12/26)
素直にバグフィックスを待ちましょう。それまでは、とりあえずは組み込んで動作を確認しましょう。
権利とか
「BulletML」「Bulletnote」は「ABA Games」及び「長 健太」氏のものです
「Eclipse」は「IBM」の登録商標です
「Java」は「Sun Microsystems」の登録商標です
更新履歴
2003/12/26 |
「その他、困ったこと」の2003/12/25を修正 |
2003/12/25 |
「その他、困ったこと」に一件追加 |
2003/11/09 |
「その他、困ったこと」に一件追加 |
2003/01/17 |
「その他、困ったこと」に一件追加 |
2003/01/15 |
「その他、困ったこと」に一件追加 |
2003/01/14 |
公開 |