■■■■■■■■■■■■■■■■■■■
■■■
■■ b2エディタ 使用説明書
■
本説明書が想定しているバージョンは
b2edit.exe | version 1.1e |
b2.swf | version 1.06b |
です。
■ファイル構成
圧縮ファイル内には以下のものが含まれます。
b2edit.exe
ブロック崩しB2用設定ファイル作成ツールb2エディタ本体。
b2.swf
ブロック崩しB2実行用swfファイル。
escapeCode.swf
データ内に日本語文字等を用いる場合にはこのツールを使って
エスケープさせたコードを記述してください。
b2readme.html
b2エディタ使用説明HTMLファイル。今見ているこれ。
b2eventsample.html
b2エディタイベント記述ガイド&サンプルHTMLファイル。
b2reference.html
b2エディタイベント記述リファレンスHTMLファイル。
<readmePic>
上記使用説明HTMLで使用する画像が入っているフォルダ。
hiscore.cgi
hiscore.txt
jcode.pl(v 1.9)
スコアランキング用のファイル一式です。
■概要
b2エディタはブロック崩しゲームb2.swfのブロック配置および
プロパティのコンストラクションツールです。
前景および背景の2枚のJPEG画像を用意することで、
簡単にブロック崩しが制作できます。
本ツールで以下の操作が可能です。
・素材に用いる2枚JPEGファイルの選択
・ブロックの配置
・プロパティの変更
・ブロック配置データおよびプロパティ情報を持つ設定ファイルの
書き出し(標準保存)および読み込み
・htmlファイルの書き出し
以上の手順を行うことで、以下の5つのファイルが揃います。
b2.swf(本圧縮ファイルに同梱;ファイル名固定)
〜〜.jpg(前景用:ブロックの部分に表示される)
〜〜.jpg(背景用:ブロックの無い部分、壊れた部分に表示される)
〜〜(設定ファイル:ブロック配置およびプロパティデータ。ファイル名が任意になりました)
〜〜.html(ブラウザ表示用ファイル:これをブラウザに表示して開始)
これらを同一ディレクトリ内にアップロードすることでオンラインにて
ブロック崩しがプレイ可能になります。オフラインで実行するときは、
上記5つのファイルを同一フォルダに置いてhtmlファイルを実行してください。
#尚、ゲーム自体にはJPEGの代わりにswfを用いることが可能ですが、
#エディタではswfファイルを表示できませんので、代替のJPEGファイルを
#用意するなどの必要があります。また、swf画像での動作は現在未確認です。
■画面説明
本ツールの実行画面です。以下で各部の説明を記述します。
■メニューバー
▼ファイル
ブロック配置とプロパティ情報を保存します。実際に使用するときの
ファイル名はconfig.txtです。
|!注意!|
| 開くを行うと以前に保存した設定ファイルを読み込むことが
|できますが、この際画像のパスはディレクトリ情報を省いて
|保存されています。この仕様により開いた設定ファイルと同じ
|フォルダにJPEGファイルがある場合に限り、前景側のファイルを
|同時に開きます。制作時、JPEGファイルと別フォルダに設定ファイルを
|保存している場合は、ブロック配置の参照用に改めてJPEGファイルを
|開きなおしてください。
[HTMLファイルの書き出し]
指定された設定を元にhtmlを自動生成します。
ページタイトル、ページ背景色、ゲーム領域内背景色、
swfの画像品質が選択できます。
▼表示
ツールバー、ステータスバーおよびプロパティダイアログの
表示を切り替えます。
▼ウィンドウ
ウィンドウの表示を切り替えます。
▼ツール
プロパティや各種ツールの表示を切り替えます。
▼ヘルプ
バージョン情報を表示します。
▼データ
使用しません。
■ビュー
画像を指定するとビューに画像とブロック配置用のグリッドが描かれます。
前景あるいは背景ファイルのうち後で選択した側が参照表示されます。
この画面をクリック・ドラッグすることで指定矩形範囲にブロックを配置できます。
配置されている領域は再び選択することでブロックは取り除かれます。
■プロパティ
前景ファイル
ブロックを崩さない状態で表示されている画像ファイルを指定します。
任意のJPEGファイルを指定します。
背景ファイル
ブロックを崩した状態で表示される画像ファイルを指定します。
任意のJPEGファイルを指定します。
前景ファイル、背景ファイルは隣のフォルダアイコンから指定してください。
再描画ボタンを押すとパスの通っている場合に読み込み直すことができます。
ブロックを配置するときに交互に参照することができます。
画像サイズ
選択した(ビューに表示されている)画像のサイズを表示します。
前景と背景で大きさが違う場合、ここに表示されている側の
サイズで実行時サイズが決定し、ゲーム画面が作成されますが、
それぞれの画像データの実行時の表示は、
・前景ではブロック配置内のみ
・背景では実行時サイズに収まる全域
が表示されます。
実行時サイズ
実行時のflashオブジェクトの大きさを表示します。
横サイズは画像サイズと等しく、縦サイズは画像サイズに
パドル領域高を加えたものになります。
▼ブロック設定
新規作成
ブロックの縦サイズ・横サイズは新規作成でのみ変更可能です。
新規作成を行うとブロックの縦横サイズを指定することができます。
この際今までのブロックが削除されます。
パドル領域高
ブロックの配置されない、パドル領域の高さをピクセル単位で
指定します。
▼ボール設定
最小角度
ボールの進行角度の下限を水平を0°とし、10°単位で指定します。
最小角度
ボールの進行角度の上限を水平を0°とし、10°単位で指定します。
直径
ボールの直径をピクセル単位で指定します。
スピード
ボールの速度(1フレームあたりの移動距離:十分速いマシンで30fps)
をピクセル単位で指定します。
衝突判定精度
(LiteModeでは参照されません)
スピードが1フレームあたりの移動ピクセル数を表すのに対し、
衝突判定を何ピクセルごとに行うかを指定します。
スピードの約数を指定しない場合、実際には最も近いこの値の
倍数値がスピードとして使用されます。
▼パドル設定
幅、厚さ
パドル(ラケット)の幅、厚さをピクセル単位で指定します。
エッジ幅
パドルの端にボールがぶつかるとボールの角度がランダムに変化します。
その端の領域幅をピクセル単位で指定します。
実際の領域はこれに合わせボールの半径分の広がりを持ちます。
スマッシュヒット幅
パドルの中心にボールがぶつかるとボールは次にパドルに当たるまで
貫通弾になります。パドルの中心から指定されたピクセル分左右に
広がりを持つため、幅は指定値の2倍になります。
実際の領域はこれに合わせそれぞれボールの半径分の広がりを持ちます。
キーボード使用時移動速度
キーボードでプレイするときのパドルの移動速度をピクセル単位で
指定します。
▼その他
プレイヤー機数
プレイヤーの機数を指定します。
▼デフォルトオプション設定
以下のオプションはゲーム中にプレイヤーが任意で変更できますが、
その初期状態を選択するものです。
ボール速度ユーザ設定
ボールのスピードをパーセント指定でコントロールします。
[z]キーを押している間はその3倍の速度になります。
パドル速度ユーザ設定
キーボード操作使用時のパドルのスピードをパーセント指定で
コントロールします。AUTOを選択すると、パドルはその時点のボールの
横速度と同じ速さで移動します。
いずれもスペースキーを押している間はその3倍の速度になります。
キーボード操作
キーボードによる操作をデフォルトにします。
有効時はマウスでの操作がオフになります。
ブロック表示
ブロックの配置が表示されている状態をデフォルトにします。
サウンド
効果音の有無を指定します。
ヒットエフェクト
ブロック衝突時の画面効果の有無を指定します。
衝突判定軽量化
衝突判定処理を簡易モードにします。
オン時にver.1.05以降の新アルゴリズムが適用されます。
この場合ボールの中央の軌跡が衝突判定になります。
オフ時はver.1.05以前のLiteMode(軽量化オン)と同等になります。
以下のオプションは分類上ここに配置されていますが、ゲーム中の
変更はできません。
逆方向反射
ボールが接近した方向の端で打ち返すと、ボールが来た方向に
打ち返されます。
タイマー表示
1ゲーム中のプレイ時間が表示されます。
ランキング機能
スコアランキングを有効にします。スコアランキングの実装方法に
ついては後節「スコアランキングを使用する」を参照してください。
ブロックマスク
ブロックとして表示される前景の1ブロックごとの形を指定します。
1…矩形。衝突範囲と同じ大きさの長方形です。
2…破裂。破ったような形状のブロック表示です。
複雑な形状(ポイントの多いデータ)にすると実行動作が重くなる場合が
あります。また、いずれのブロックマスクにしても衝突範囲は同じ(矩形)
です。#オプション>ブロック表示時の表示も同じ。
■配置ツール
ブロック種
配置するブロックの種類を選択します。
(現在のバージョンでは通常ブロックしか選択できません)
ブロック参照表示
ビューに配置されたブロックの表示方法を変更します。
このオプションはこのツール内でのみ有効でゲーム中には影響しません。
グリッド
ビュー内のグリッドの表示方法を変更します。
このオプションはこのツール内でのみ有効でゲーム中には影響しません。
ブロック数計測
未実装です。
■イベントツール
ここにイベントを記述することで、特殊な設定を実現することができます。
イベントの記述方法については、記述ガイドおよびリファレンスをご参照ください。
条件挿入
コマンド挿入
編集
メニュー部は未実装です。
■スコアランキングを使用する
スコアランキング機能を使用するにはサーバがCGIの使用を許可していて、
かつCGIファイルとそれ以外のファイルを同じ場所に配置できる必要があります。その上で、
・エディタ内のプロパティ>その他>ランキング機能のチェックをONにする。
・以下のファイルの箇所を修正する。
hiscore.cgi1行目
#!/usr/local/bin/perl
をご使用のサーバの環境に合わせたパスに修正。
(大抵はこのままの設定で構いません)
・以下の3つのファイルをb2.swfと同じディレクトリにアップロードする。
hiscore.cgi
hiscore.txt
jcode.pl
・以下のファイルのパーミッション(属性)を変更する。
hiscore.cgi→755
hiscore.txt→666
以上の操作でランキングが使用可能になります。
■免責および著作権表示
本ツールおよびゲームを使用することで生じたいかなる損害についても
アイソトニクス および にー(NIX)は責任を負いかねますので、
ご使用の際は使用者の責任で行ってください。
同梱された全てのファイルについて著作権は にー(NIX)にあります。
[予め許可されていること]
・無償の場合
同梱されるファイルの改変を伴わない再配布につきましては、
b2.swfを始めとする一連のファイル、および本ツールを用いて作成された
データ(config.txt、出力されたhtml)ともにご自由に配布して頂く事ができます。
・有償でも可能なケース
この際、b2.swfと作成されたデータのセットでの配布の場合は、
有償無償に関わらずご自由に行うことができます。
[許可無しに行えないこと]
b2エディタを対価を伴って配布する場合、およびデータを伴わずb2.swfを
対価を伴って配布する場合は事前に許可が必要です。
改変を伴う再配布は著作者の許可が無い限り行えません。
尚、本ツールはJPEG読み込みにIJGのライブラリを使用しています。
ライブラリ製作者に感謝致します。
■Tips
[読み込み時間を短縮したいときは]
JPEGのファイルサイズを小さくします。
JPEGの品質を下げることでも可能ですが、他の方法として、
前景用JPEGファイルのブロックの無い部分を単色で塗潰すことによって
ファイルサイズを抑えることができます。単色で塗潰すことによって、
透過GIFと同様の理由でのファイルサイズの削減ができます。
ただしこの際は、境界は余裕を持って画像を残しておいてください。
前景と背景で変化が無い部分でもブロックのある部分を塗り潰してしまうと
ブロックが有る領域で塗った色が出てきてしまいます。
[2面以降の読み込み時間を短縮したいときは]
最初のステージが始まる段階で以降の画像をキャッシュに入れておく
(一旦読み込んでおく)ことで、次以降の読み込み時の時間を短縮できます。
前景・背景以外の画像ファイルを読み込むにはイベント記述を用います。
ゲームが始まる前の処理についてはイベント記述リファレンスの
OnPreGameを、画像読み込みの記述は同picNumber、preLoadをご覧ください。
また、これらの記述例はイベント記述ガイドのコマアニメーション
の節内に記載されています。
[パドル領域に背景を描画したいときは]
2つの異なる大きさのJPEGファイルを使用します。
背景用のJPEGを前景用のJPEGよりも大きくして、前景のJPEGを用いて
設定ファイルを作成します。背景用のJPEGはflashオブジェクト内の範囲で
表示されます。
また、パドル領域を狭くすることでも可能ですが、パドルの近くに
破壊可能なブロックを配置するのはあまりお勧めしません。
#前者の方法を用いた方が、前項[読み込み時間]は短くなります。
■改定履歴
1.1d2→1.1e-2002.09.09(b2.swf version1.06対応)
・html書出時に設定ファイルの指定を可能に。また、右及び下にコメント枠を設置。
・swf修正は高速化(衝突アルゴリズム変更、従来のLiteMode→NonLiteModeにシフト)、
スコアランキング機能、スピードコントロール、ブロックマスク、execcomコマンド。
1.1d→1.1d2-2002.07.01(b2.swf version1.04対応)
・イベント記述ガイド(eventsanmple)を添付。
・swf修正をいくつか、仕様的な部分ではイベントflagSetをsetFlagに変更。
1.1b→1.1d-2002.07.01(b2.swf version1.03対応)
・配置ツール追加(ブロックおよびグリッド表示切替のみ可能)。
・イベントツール追加(テキスト直接入力のみ可能)。
1.1→1.1b-2002.06.24(b2.swf version1.0対応)
・画像幅とブロック幅が倍数関係にある場合のブロック配置データの保存が
ずれるバグを訂正。
・ビュー画面の再描画タイミングを補正。
・設定ファイルロード時に同フォルダにあれば前景用JPEGを読み込み。
1.1-2002.06.23(b2.swf version1.0対応)
・正式公開用初版。
■補足
本ツールおよびゲームは予告無くバージョンアップされます。
…ので予告じゃないのですけど、まだ時間が取れるようなら
やりたいなぁと思うあたりを…。
[以降のバージョンアップ案]
・アイテム追加
・ブロックの種類追加
・config.txtの暗号化
・外部BGM、効果音ファイルの読み込み
・パドル、ボールの外部ファイル読み込み
・イベント記述サポート
:
なかなか(↑)の項目はクリアされていきませんね。今回いろいろアップ
デートしたつもりだったんですけど、スピコンしか該当しませんでした。
さて、衝突アルゴリズムを変更しました。今回のは中央の軌跡上しか当たり
判定がありませんので、ブロックを掠めるように(画面上で)めり込むボールは
衝突とみなされません。但し、軌跡上は判定を網羅しているので、ブロックの
壁を貫通することはない筈です(アルゴリズム的には=バグが無ければ)。
衝突アルゴリズムの際格闘したのが「すり抜け」「硬直」「食い破り」で、
実際に正常に動作するまで結構苦戦しました。従来のアルゴリズムは
できるだけ厳密に衝突判定をさせようと、最も初期は進行方向に対して5点
での検索を行っていましたが、Flashらしい機能を生かして厳密性よりも
遊ぶ点における楽しさを引き出すべきだと考えました。そんなわけで掠める〜
の件についてはご了承ください(イヤだ〜って人は旧バージョンを…)。
リクエストを頂いたランキング機能を搭載しました。とはいえ現在の
スコアシステムではクリア迄に何回貫通弾を使用したか以外にスコア差が
ありませんけど、後々クリア時の残機数やクリアタイムでボーナス入れる
とかすれば意味のあるものになってくるでしょう。設置側としては目に
見えてプレイされてるのがわかるのは楽しいですしね。
今後はそのあたり(得点設定)と、アイテム(案だけはいろいろある)、
ブロック、外部データファイル(チップ絵や音)を実装して(↑)のリストを
クリア・・・できたらいいなぁ。オーソドックスな部分は概ね完成した
ので、Flashらしさで次元を超えた(?)ブロック崩しにしていきたい野望。
Flash(<マクロメディア)ユーザの製作者の自由度が上がる予定。重くなければ;。。)_
感想、バグレポート等ありましたらどうぞよろしくです。