■■■■■■■■■■■■■■■■■■■
■■■
■■ ネフテュス(Nef) 使用説明書
■
本説明書が想定しているバージョンは
です。
■概要
flashノベルエンジンネフテュス(以下nef)は、HTML準拠のXML形式外部ファイルをドキュメントとして読み込み、
そのドキュメントに従ってテキストや画像などを時系列を伴い出力するものです。
nefを使用するには以下のファイルが必要となります。
nef.swf nef本体
xxx.html nef.swfを読み込むHTMLファイル
xxx.xxx 任意の名前のドキュメントファイル
以上を同一ディレクトリに置いて使用します。
htmlファイルは、添付しているnefTemplate.htmlのsample.dat(2箇所)やwidth/height指定などを書き換えて、
使用することをお薦めします。ドキュメントファイルはテキストエディタで作成します。記述方法は以下の
項をお読みください。また、具体例はsample.datをテキストエディタで開いてご覧いただけます。
■タグの説明
NefドキュメントはHTMLに近似したXML形式で記述されます。
XMLではデータをタグで挟む形でデータに意味を持たせることができ、タグは半角の<>で挟まれる形で
示されます(<body>など)。タグには開始タグと終了タグ(例えば<p>と</p>)があり、
そのタグに装飾されるドキュメントはその内部に挟まれます。内部にドキュメントを持たない場合、
HTMLでは終了タグがしばしば省略されますが(<br>タグなど)、XMLでは省略できませんので、
代用として<br/>のように1つのタグで開始・終了を指定してください(HTMLで表示したときもこれで影響ありません)。
なお、以下のタグの名前や機能に関しては予告無く変更されることがありますのでご了承ください。
※尚、現行nefではタグは小文字で記述してください。将来は大文字対応する予定です。
※タグは将来の版では変更される可能性があります。(再現性の問題でCCS記述になるかも??<でも長い記述はデータ作成が面倒だからなぁ。)
非HTMLと書かれたタグ、属性は直接データをブラウザで表示したときに再現されません。
NefドキュメントはHTMLと互換を持たせるために以下の形で記述します。
[0次構成タグ]
<html>
<body>
(ドキュメント)
</body>
</html>
このドキュメントの部分に以下の1次構成タグ、2次構成タグを挿入します。
尚、bodyタグは次の属性を持ちます。
<body> text=テキストの色を指定します。色の指定方法はHTML同様の16進表記"#RRGGBB"です。
link=リンクの色を指定します。
[1次構成タグ]
1次構成タグは0次構成タグの内部にある必要があり、1次構成タグ同士を入れ子にすることはできません。
<p> 段落を意味します。nefではこの単位でページを切り替えます。
なのでページのpと思ってもらってもいいかもしれません。
<img> 画像(JPEGおよびswf)を読み込みます。以下のパラメータを持ちます。
(※画像にswfファイルを用いる場合は30fpsで制作してください)
src=画像ファイル名を指定します。
x=画像を表示する横位置を指定します。非HTML。
y=画像を表示する縦位置を指定します。非HTML。
xscale=画像の横倍率を%で指定します。非HTML。
yscale=画像の縦倍率を%で指定します。非HTML。
nonstop="true"/"false" 画像表示後、マウス入力待機をしないようにします。
<command> 非HTML。nef制御用のコマンドです。
slave="release" 外部プログラムからnefを呼んでいる場合に、制御を外部プログラムに返します。
<reserve> 非HTML。装飾予約。予約後に登場するstringの内容をreplaceに置き換えます。
string=予約装飾対象文字列。
replace=装飾済み文字列。
<data> 非HTML。外部プログラムからnefを呼んでいる場合に、外部プログラムに変数を渡します。
[2次構成タグ]
2次構成タグは1次構成タグである<p>タグの内部にある必要があります。テキストドキュメントもこの階層に記述されます。
<br> 改行を表します。通常<br/>の形で記述します。
<font> 文字装飾を指定します。以下のパラメータを持ちます。
face=フォントを指定します。"MS ゴシック"等といった形で指定してください。
pt=文字の大きさをポイントで指定します。非HTML。
color=テキストの色を指定します。"#ffeedd"等。
align="left"/"center"/"right" 文字の揃えを指定します。非HTML。
underline="true"/"false" 下線を付けます。非HTML。
bold="true"/"false" 太文字にします。非HTML。
italic="true"/"false" 斜体にします。非HTML。
<effect> 効果を指定します。非HTML。
screen=画面効果を指定します。
fadein 画面をフェードインします。
fadeout 画面をフェードアウトします。
closein 画面中央から表示します。
closeout 画面周辺から消去します。
textbgxx xxの値にテキストの背景地の透明度を指定します(0〜100)。
この指定はページ切り替えの際にリセットされる場合があります。
(現行では0および50がそれぞれデフォルトのp,imgの透明度であるため)
comexec=指定した内容を画像ファイル(swfで指定している場合のみ)のcomexec関数に渡します。
<textbox> テキストの表示位置等を指定します。非HTML。
width=テキストを表示する範囲の幅を指定します。
height=テキストを表示する範囲の高さを指定します。
x=テキストを表示する横位置を指定します。
y=テキストを表示する縦位置を指定します。
color=テキスト背景地の色を指定します。
border="true"/"false" テキストボックス枠の表示を切り替えます。
(枠はテキストボックスの種類によりますが現行標準では白実線です)
textbgxx xxの値にテキストの背景地の透明度を指定します(0〜100)。
この指定はページ切り替えの際にリセットされる場合があります。
(現行では0および50がそれぞれデフォルトのp,imgの透明度であるため)
こちらの指定ではページ切替時に変化します(そのうち統一されるかも)。
<imgbox> 画像の表示位置等を指定します。非HTML。
width=画像を表示する範囲の幅を指定します。
height=画像を表示する範囲の高さを指定します。
x=画像を表示する横位置を指定します。
y=画像を表示する縦位置を指定します。
xscale=画像の横倍率を%で指定します。
yscale=画像の縦倍率を%で指定します。
<a> ページジャンプ、およびページジャンプ用のしおりを設定します。
ページ内に複数のジャンプ指定を記述するとマウスクリックによる選択肢になります。
ページ内にジャンプ指定が唯一の場合、タグ内の文字列は表示されず、ページをめくる動作でジャンプを行います。
href=ジャンプ先の指定。
ファイル名を指定すると指定ファイル(XML)を先頭から読み込みます。
#○○と記述すると現在のファイル内から○○のしおりを探してジャンプします。
ファイル名#○○と記述すると指定ファイル内の○○のしおりにジャンプします。
name=しおりの名前 このしおりを挟んであるページにジャンプするときに使います。
<setvar> 変数に値を代入、或いは値の変更を行います。非HTML。
name=変数名
value=代入する値。省略すると値は維持されます。新規/維持のいずれかに対し、以下の演算が適用され代入されます。
add=指定した数値を加算します。
sub=指定した数値を減算します。
mul=指定した数値を乗算します。
div=指定した数値を除算します。
power=指定した数値でべき乗します。
sqrt=数値の指定に関わらず平方根をとります。
<getvar> 変数の値を文中に書き出します。非HTML。
name=変数名
<if> 変数の値が指定の条件を満たさない場合はタグ内を無視します。非HTML。
var=変数名
eq=指定した値と変数の値が等価である
lt=指定した値より変数の値が小さい
gt=指定した値より変数の値が大きい
le=変数の値が指定した値以下である
ge=変数の値が指定した値以上である
■免責および著作権表示
本ツールおよびゲームを使用することで生じたいかなる損害についても
アイソトニクス および にー(NIX)は責任を負いかねますので、
ご使用の際は使用者の責任で行ってください。
同梱された全てのファイルについて著作権は にー(NIX)にあります。
[予め許可されていること]
・無償の場合
同梱されるファイルの改変を伴わない再配布につきましては、
nef.swf、および本ツールを用いて作成されたデータ(作成したデータおよび改変したnefTemplate.html)
ともにご自由に配布して頂く事ができます。
・有償でも可能なケース
この際、nef.swfと作成されたデータのセットでの配布の場合は、
有償無償に関わらずご自由に行うことができます。
[許可無しに行えないこと]
データを伴わずnef.swfを対価を伴って配布する場合は事前に許可が必要です。
nef.swfの改変を伴う再配布は著作者の許可が無い限り行えません。
■改定履歴
1.01 -2003.01.04
・正式公開用初版。
■補足
タグの大文字対応は現行で実装していませんが、すぐに実装可能かと思います。
今回は他に色々とテスト・修正が必要だったので小文字のみでリリースします。
fontタグの入れ子はもう一押しツメが甘く不完全です。早めに対応したいです。
全体の文字の大きさを変更したい場合は、textboxの倍率(xscaleとyscale)を用いて
下さい。例えば400x300のテキストボックスを標準の文字サイズの半分で作りたいときは、
<textbox xscale="50" yscale="50" width="800" height="600"/>
とします。800(指定するwidth)=400(実際のサイズ)÷0.5(50%)です。
処理が重いのは、Flashが毎フレーム再描画を行うためで、画像にアニメーション(swf)
等を用いる場合を考えて30fps以下にはできないという理由です。文字範囲にswfのムービー
クリップがなければテキストボックスの表示は維持されるのですが、そうでない場合、
フォントタグで装飾した部分が崩れます(局所的に装飾が無視されます)。ごめんなさい。
それでも他にアクティブなアプリケーションを使わない状態で、1ページの範囲なら
ノートPCでも絶望的な重さにはならなかったので(CPU占有はある程度のスペックを
備えたマシンでも酷いですが)、リリースに耐えると判断しました。速度的な問題なら
表示をスキップすることもできますし。
そんな感じで難もあるものの、「web上で公開できる」「HTMLライクな記述」「画像
データにswfを使用可能」という特徴を持ったnef、ストーリー的な部分で活躍できれば
いいなぁ…なんて思っています。装飾タグでそれなりに表現力もあると思いますし。
画面効果(effect screen)についてはいくらでも追加可能なので以降の版を待ってください。
とはいえ、JPEGがうねうねするみたいのはflash的に実現は難しいですけど。
次のアップデートは前述の2箇所と、リンク(選択肢)・ジャンプかなぁ。すでに
しおりは挟めますからね(b2との連携では実験済み)。あ、「他のFlash作品上に組み込める」
のも魅力の1つでした。アイソトニクスのwebにはこれを搭載したメニューが動作
しています。サンプルとか作るのはまたの機会にして、最後に組み込みの記述(flash)を
紹介しておきます。以下を_rootに記述して、_rootにムービークリップを作成し、その
インスタンス名をnefとしてください。あとは同一ディレクトリにnef.swfを置けばOKです。
function nefDocument(){
return "sample.dat";//Nefドキュメントの指定
}
function nefgPath(){
// return;//もし画像のパスが親flash内にある場合はそのパス。通常不要。
}
function nefloadData(a){
親flash内での変数名=a.xxx;//nefのdataタグで<data xxx="〜〜"/>と
//記述してある場合、これで親に渡される。
//nefドキュメントから特にデータを受け取らない
//場合(通常)は不要。
}
nef.loadMovie("nef.swf");//あらかじめ用意したムービークリップ(インスタンス名nef)
//にnef.swfを読み込む。