#contents ---- *開発室 [#fdac6ff2] -ベータ版を公開するページです。(だんだん個人的な備忘録と化してきています・・・。) -ベータ版のファイル内容は、基本的にtheater.js本体、theaterconstructor.js、およびprototype_extend.jsのみです。正式版最新のstaffフォルダに上書きして使用してください。 -(添付の&ref(test.js);はテスト用シナリオです。予告なく削除・変更します。) **v2.0.4.8 (2008/01/24) [#y5cbfba5] -theater.js v2.0.4.8 &ref(tjs2048.lzh); -ファイル内容:theater.js本体 -主な変更点 --いろいろ・・・。 **v2.0.4.7 (2008/01/23) [#m679dd4b] -theater.js v2.0.4.7 &ref(tjs2047.lzh); -ファイル内容:theater.js本体 -主な変更点 --Theaterコンストラクタ、actメソッドの引数オブジェクトにeffectプロパティ追加。形式はfilter設定値),(outEffect設定値),(inEffect設定値)]。 --省略記法branchでdefault指定なしの場合は次のシナリオ関数を実行するようにしました。 --省略記法checkおよび各比較演算子(==、!=等)を追加しました。値は{(work設定名):(比較値)}形式のカスタムオブジェクトです。結果のblloean値を返却します。 **v2.0.4.6 (2008/01/22) [#m669ae6e] -theater.js v2.0.4.6 &ref(tjs2046.lzh); -ファイル内容:theater.js本体 -主な変更点 --画像アドレスにも置換用文字列を使用できるようにしました。 --curtainプロパティをimgsオブジェクトのcurtainプロパティにコピーするようにしました。 --省略記法succを追加しました。 **v2.0.4.5 (2008/01/21) [#t95cdb5f] -theater.js v2.0.4.5 &ref(tjs2045.lzh); -ファイル内容:theater.js本体 -主な変更点 --省略記法choiceの引数にカスタムオブジェクトを設定可能に。各プロパティ名がボタンのvalue、値が表示文字列となります。 【例】 var scenario = [ {choice:{slime:"スライム",dragon:"ドラゴン"}}, {branch:{slime:{msg:"スライムは弱い"}, dragon:{msg:"ドラゴンは強い"}}} ]; new Theater({ scenario:scenario }); **v2.0.4.4 (2008/01/17) [#z5e2b7ab] -theater.js v2.0.4.4 &ref(tjs2044.lzh); -ファイル内容:theater.js本体 -主な変更点 --taranslateメソッドで文字列でない場合にもescapeHTMLを使用していてエラーになる不具合の修正。 --setValメソッドの第一引数に配列を設定した場合の動作不良修正。 **v2.0.4.3 (2008/01/11) [#p36ce26c] -theater.js v2.0.4.3 &ref(tjs2043.lzh); -ファイル内容:theater.js本体 -主な変更点 --省略記法使用時のresult引継ぎ設定見直し。act以外でできるだけ引き継ぐようにしました。 --省略記法branchのデフォルト条件名を$default、defaultどちらでも可能としました。($defaultが優先) --loopメソッドの条件にbooleanを指定可能としました。trueの場合は無限ループになります。 --translateメソッドに第二引数isEsc追加。これが無指定・null・trueの時は${・・・}、$R{}の変換時HTMLエスケープを行います。falseが指定された場合のみ、HTMLエスケープをしません。ほとんどの場合でエスケープを行っています。唯一promptのデフォルト入力値だけエスケープさせていません。 **v2.0.4.2 (2008/01/09) [#o6d4fd19] -theater.js v2.0.4.2 &ref(tjs2042.lzh); -ファイル内容:theater.js本体 -主な変更点 --省略記法labelをlabelPushに変更。 【例】 var img = { s1: "img/sample1.gif" }; var scenario = [ {img: "$I{s1}", msg: "labelPushテスト"}, {labelPush:{"LABEL":[ {msg:"LABELシナリオ開始。"}, {push:[ {msg:"選択シナリオ開始。"}, {choice:["SKIP", "RETAKE", "NONE"]}, {branch:{ "SKIP":{skip:"LABEL"}, "RETAKE":{retake:"LABEL"}, "NONE":{keep:null} }}, {msg:"選択シナリオ終了。"} ]}, {msg:"LABELシナリオ終了。"} ]}}, {msg:"LABELシナリオの後です。"} ]; new Theater({ img: img, scenario: scenario }); --loopメソッドに第三引数labelを追加。pushと同様、指定することによりretake,skipメソッドで親ループより上のループへ復帰することができるようになります。 --これに伴い省略記法labelLoopを追加。値は[(繰り返し条件),{(ラベル名):(シナリオ)}]形式のオブジェクトです。内部でloopメソッドをlabelつきで呼び出します。 --labelを指定しない場合でも、デフォルトで"LOOP"をlabelとします。 --ループカウンタとしてloopCountプロパティを追加。これを文章内で$LC{}(または$LOOPCOUNT{})として利用できます。$LC{}は1オリジンです。$LC{0}とすると0オリジンになります。 --ただし、loopCountプロパティは常に正しいとは限りません。ループの中で更にループを呼び出している場合、不正確になります(サブループからの復帰後~次のループ開始まで)。各ループの先頭であれば正確なので、必要であればこれを保存して利用します。 【例】 var img = { s1: "img/sample1.gif" }; var scenario = [ {img: "$I{s1}", msg: "labelLoopテスト"}, {labelLoop:[2, {"LABEL":[ {msg:"外側ループ。2回繰り返し。$LC{}回目。"}, {loop:[[ function(){this.work.count = 10;}, function(result){return(this.work.count > 0);}, function(result){this.work.count -= result;} ],[ {msg:"内側ループ。現在の数=${count}。0以下になると終了。$LC{}回目。"}, {choice:["続行", "内側RETAKE", "内側SKIP", "外側RETAKE", "外側SKIP"]}, {branch:{ "続行":{keep:null}, "内側RETAKE":{retake:"LOOP"}, "内側SKIP":{skip:"LOOP"}, "外側RETAKE":{retake:"LABEL"}, "外側SKIP":{skip:"LABEL"} }}, {msg:"引く数を選択。"}, {choice:[1, 5, 10]} ]]}, {msg:"内側ループの後です。"} ]}]}, {msg:"外側ループの後です。"} ]; new Theater({ img: img, scenario: scenario }); -他、メニューの値に数値が使用できない不具合等を修正。 **v2.0.4.1 (2008/01/08) [#qf623798] -theater.js v2.0.4.1 &ref(tjs2041.lzh); -ファイル内容:theater.js本体 -主な変更点 --pushメソッドに第二引数labelを追加。指定することによりretake,skipメソッドで親シナリオより上のシナリオへ復帰することができるようになります。retake,skipメソッドにも第一引数labelを追加しています。 --これに伴い省略記法labelを追加。値は{(ラベル名):(シナリオ)}形式のオブジェクトです。内部でpushメソッドをlabelつきで呼び出します。 【例】 var img = [ "img/sample1.gif" ]; var scenario = [ {img: "img/sample1.gif", msg: "テスト"}, {label:{"LABEL":[ {msg:"LABELシナリオ開始。"}, {push:[ {msg:"選択シナリオ開始。"}, {choice:["SKIP", "RETAKE", "NONE"]}, {branch:{ "SKIP":{skip:"LABEL"}, "RETAKE":{retake:"LABEL"}, "NONE":{keep:null} }}, {msg:"選択シナリオ終了。"} ]}, {msg:"LABELシナリオ終了。"} ]}}, {msg:"LABELシナリオの後です。"} ]; new Theater({ img: img, scenario: scenario }); --他、省略記法branchのデフォルト条件名を"$default"に変更したりしています。 ---- -以下は旧バージョンです。 **v2.0.2.7 (2007/08/27) [#i44cabe5] -theater.js v2.0.2.7 &ref(tjs2027.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js, style.css -theater.js 主な変更点 --【不具合修正】シナリオ初期化要素がない状態で、メニュー表示をした場合、エラーとなる不具合を修正しました。 -prototype_extend.jsはv2.0.2.5と同じものです。 -theaterconstructor.jsはv2.0.2.2と同じものです。 -このバージョンを元に正式版v2.0.3を作成・公開しました。ベータ版で追加された新機能については今後解説していきます。 -サンプルは後日添付します。 **v2.0.2.6 (2007/08/19) [#h64daf37] -theater.js v2.0.2.6 &ref(tjs2026.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js, style.css -theater.js 主な変更点 --【不具合修正】メニューの最低幅が250px固定になっているのを、CSSの指定を反映するよう修正。 ---現最新正式版(v2.0.2)にそのまま上書きすると、メニューが崩れる場合があります。同梱のstyle.cssを正式版に上書きしてください。 --【不具合修正】Theaterクラスインスタンス生成時・actメソッド引数不具合修正 ---adjust, width, height, top, left --直前シナリオ関数の返却値をシナリオ省略記法で使用可能とする。 ---$R{}と記述することで置換されます。 --シナリオ操作メソッド(skip、reset等)のシナリオ記述簡略化。 --画像のonload、onerror、onabortイベントの利用 -prototype_extend.jsはv2.0.2.5と同じものです。 -theaterconstructor.jsはv2.0.2.2と同じものです。 -サンプルは後日添付します。 **v2.0.2.5 (2007/08/15) [#q2914c76] -theater.js v2.0.2.5 &ref(tjs2025.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js -theater.js 主な変更点 --文章以外にも{ワークエリア変数名}でワークエリア変数を組み込めるようにしました。 --画像アドレス保持・取得機能を改善しました。 -prototype_extend.js 変更点 --HandleHashクラスにflattenメソッドを追加しました。 -theaterconstructor.jsはv2.0.2.2と同じものです。 -サンプルは後日添付します。 **v2.0.2.4 (2007/08/15) [#le492645] -theater.js v2.0.2.4 &ref(tjs2024.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js -theater.js 主な変更点 --alert、promptメソッドを使用したシナリオ関数作成を簡略化する機能を追加しました。 --{ワークエリア変数名}で文章にワークエリア変数を組み込めるようにしました。 --処理分岐のシナリオ関数作成を簡略化する機能を追加しました。 -theaterconstructor.jsはv2.0.2.2と同じものです。 -prototype_extend.jsはv2.0.2.1と同じものです。 -サンプル &ref(sample2024.lzh); --変更点を使用した簡単なシナリオです。 **ベータ版サンプル for v2.0.2.1~v2.0.2.3 (2007/08/13)[#vd224830] -ベータ版サンプル &ref(sample2023.lzh); --これまでの変更点を使用した簡単なシナリオです。 **v2.0.2.3 (2007/08/13) [#af09a107] -theater.js v2.0.2.3 &ref(tjs2023.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js -theater.js 変更点 --confirm、choiceメソッドを使用したシナリオ関数作成を簡略化する機能を追加しました。 -theaterconstructor.jsはv2.0.2.2と同じものです。 -prototype_extend.jsはv2.0.2.1と同じものです。 **v2.0.2.2 (2007/08/06) [#gcf3f170] -theater.js v2.0.2.2 &ref(tjs2022.lzh); -ファイル内容:theater.js本体, theaterconstructor.js, prototype_extend.js -theater.js, theaterconstructor.js 変更点 --すべてのクラス・オブジェクトを名前空間「Theater」以下に配置し、windowオブジェクト汚染を最低限にしました。 --まあ、prototype.js使ってる時点でアレなんですが・・・^^; -prototype_extend.jsはv2.0.2.1と同じものです。 **v2.0.2.1 (2007/08/05) [#v11d24eb] -theater.js v2.0.2.1 &ref(tjs2021.lzh); -ファイル内容:theater.js本体, prototype_extend.js -theater.js 変更点 --quit(end, fin)メソッドを追加しました。 --シナリオ関数配列の各要素に、関数以外にカスタムオブジェクト、または配列を設定可能としました。 --actメソッド、appearメソッド、speakメソッドの引数に配列を設定可能としました。 -quitメソッド --引数:なし --説明:シナリオを強制終了する。end, finメソッドはquitメソッドと同じ機能です。 -prototype_extend.js 変更点 --HandleHashクラスの修正。