わからない、わかりにくいと指摘があったものについての用語を記す。
長文については折り畳みを使用してます。スクリプトサンプル、または、詳細をみるをクリック。
用語について。項目
メニューにもどる。
- layerについて
- トランジション
- condについて
- make.ksとは
- first.ksとは
- Config.tjs
layerについて
レイヤーの種類は公式チュートリアルをご覧ください。
~概要説明~
詳細をみる
base を指定すると 背景レイヤになります。baceじゃないですbaseです!
前景レイヤ 0~5(10)の整数を指定する。layer=数値
message0 または message1 を指定するとメッセージレイヤになります。
フリーレイヤー メッセージレイヤーの前、最前面にでてくるボタン、クリッカブル、HTML。
(フリーレイヤーのみ指定形式layer="free"のような形で指定することはできません)→ [cm]
roleボタンは、layer=fixlayer ボタン表示
状況によっては『更に上にフリーレイヤーが表示』される。
※通常ベースレイヤ(背景レイヤー)だけは、一番後ろと決定づけられている。
前景レイヤはデフォルトは非表示です。
なんのこと?かと思いますがfirstのシナリオで下のタグを入力しないと表示されないってことです。
@layopt layer=0(~5) visible=trueで表示できます。(デフォルトで5個配置.旧ティラノスクリプトのシナリオからのアップデート時注意、cofig.tjsを変更で合わせれる)
@layoptを使わない場合は、トランジションで表示された"時点で"表示できます。
くどいですが、@layopt layer=0(~5) visible=trueを使わない場合、トランジションで表示された"時点で"表示できます。
通常、chara_showとかchara_setとか使うとその時点で自動で表示されるようになるので、気にならないと思います。
first.ksで真っ先に[trans]も@layoptも、両方記述なしで、
layer=1とか0に『パッと「ptextを表示」』をやってみると、思った通りに表示されないはずです。
およそ、メッセージが表示された後かimageが表示された後になってしまうでしょう。
@layopt layer=0(1~10) visible=trueを利用してください。
または、[backlay][表示したいptext内容タグ][trans time=1000][wt]で合わせて使用で、表示してください、
☆@layopt layer=message0 visible=false(freeimage=0)を行ったあと、
@layopt layer=message0 visible=trueをしても表示されない場合は、
[backlay]
[position page=fore layer=message0 width=600 height=100 top=30 visible=ture]
[trans time=1000 ]
[wt]
@layopt layer=message0 visible=true
を試してみましょう。
またF12,ツールバーのエレメントタブを見て、レイヤーごとの要素に display:none; と書かれていれば現在、表示されてない状態です。
"表示したいのに表示されていない場合"は確認するといいでしょう。
(基本は自動で表示されます。)
レイヤの数を増やすと使用するメモリの量も増えるから、必要以上に増やさずに、必要なだけ使うように。
トランジション
トランジションとは「移行」を意味します。
フェードインやフェードアウト、ブラインドなど、時間をかけて画面を切り替える効果をトランジション(移り変わり)と呼びます。
詳細をみる
トランジションは、表ページに表示されてる画像から、裏ページの状態に徐々に「変化」するための
タグです。
Q表ページ page=fore ってなぁに? 裏ページ page=backってなぁに?
1つのレイヤーは表ページと裏ページという2つのレイヤーから成り立っている。表裏一体!
フリーレイヤを除いたすべての1つのレイヤーに対して、表(fore)と裏(back)という概念があります。
表ページが画面に今見えてる面で、裏ページは画面には見えない画面。
見えない画面って必要?と思うかもしれませんが、トランジションって機能を使う為に用意されています。
徐々に浮かび上がってくる演出や徐々に沈み消えていく演出、つまりクロスフェードに
使われています。
foreにしたらbackへ
backにしたらforeへ
condについて
condとは
✖️
macro endmacro if else elsif endif ignore endignore iscript endscript
のタグをのぞき、すべてのタグに cond 属性があります。
簡単な分岐であれば、if分岐をするより短い手数で手軽に分岐ができます。
タグの中にcond=比較演算子を記述するだけです。
詳細をみる
cond 属性には JS式 を指定し、この式を評価した結果が真の時のみにそのタグが実行されます。偽の時はタグは実行されません。そのまま下のシナリオ行に行きます。
※linkタグではendlinkタグの影響で使えない?ようです。
例 :
[l cond="f.noskip==true"]
; ↑ f.noskip が真の時のみ l タグを実行
[glink cond="sf.system.autosave ==true" target="*serect1" text="前章のつづき" size=14 width="80" ]
sf.system.autosaveが真trueのときにgrinkを表示
[jump storage="scene1.ks" target="*第2幕" cond="f.koukando>10" ]
f.koukandoが10以上なら指定のシナリオの指定のラベルに飛ぶ。
[button name="button0" graphic="Press_Click.png" clickse=se1.mp3 storage="scene1.ks" target="*第2幕" cond="f.omake==true" ]
[button name="button1" graphic="Press_Click.png" clickse=se1.mp3 target=*common1 cond="f.start==false"]
cond属性とは行うか否かを問う属性。
わかりやすく言えば、
表示物に対しては、表示するか、表示しないかを問い、
表示しない内部のものは、動くか無視するかを問う。
make.ksファイルとは?
詳細を見る
シナリオ上、毎回必要なroleボタン、fixボタンを書いておくのが一般的に知られているでしょう。
他の使用例としては、load時にマクロを読みこみ、章の分岐(変数の値)によってボタンの表示を変化させることもできます。(システム変数を使用する音量オンオフ等も)
例えば、ゲームコンセプトとして『日時でメッセージを変化』というものがありました。
そして、作者である貴方は、シナリオのはじめ、第1シナリオに『日時でメッセージを変化』のスクリプト(マクロ)をおいたとします。
それから、第2シナリオのロードをしたとします。
しかし、第2シナリオにはマクロはありませんし、もし[call]をつけたとしても、大抵が、第2シナリオのはじめに書くでしょう。たまたま第2シナリオのはじめにプレイヤーがセーブ、ロードしたという場合なら良いのですが、それは、未知数です。
そういった時に『必ずload時に呼び出しされるシナリオmake.ks』にマクロを書いておけば、不足の事態が起こらなくなりえるのです。
分岐を書いておけば、簡単なゲームの表示設定(文字表示速度など)に使えます。
first.ks
タイトルにもどるボタンを押した後、最初に読み込むページです。
ゲームの状態をクリアした(画面初期化)後に引き継ぎたい処理やマクロに呼び出しなどがあればここに書いておきましょう。
first.ksからはじめたくない。
詳細を見る
ゲームエンジン部を改造するしかないです。
./tyrano/plugins/kag/kag.js に "first.ks" という記述があります。
: 2017/06/03 (Sat) 17:39:46
index.html をいじるという方法があります。
ティラノスクリプト - 使い方 - アドバンス - サーバーサイドと連携しよう
ティラノスクリプトは必ずfirst.ksからはじまります。
通常はfirst.ksから指定のシナリオにjumpを記述します。[jump storage=title.ks]
タイトル画面はfirst.ksで作ってもいい?
first.ksにはtyrano.ksなどの大事なゲームを有意義に動かすためのシナリオを読み込むようにしてあります。 独自の変数の初期化やマクロの読み込みなどを書きます。
タイトル画面をデザイン中に気づかずに消すと面倒です。
できるだけ、タイトル画面は、title.ksでタイトル画面を作りましょう。
シナリオの役割は分担し、短くしましょう。
その他
Config.tjs
data/systemフォルダにあり。
ティラノスクリプトのバージョンによってはスクリプトで容易に変更できる場合があります。
バージョンによって大きく変更があります。各自確認してください。
スクリプトタグ連携について>>この記事の免責事項は負いません。
config.tjsは、一部、吉里吉里に対しての記述があります。
【新バージョンのティラノスクリプトでは
ローカルストレージへの保存のみでしたが、3種類の方法を選択できるようになりました。Config.tjs の configSave にて指定します。
webstorage:従来のとおり、webstorage領域に保存します。''
webstorage_compress : 圧縮、暗号化したうえでwebstorage領域に保存します。
file :PC限定。ゲームフォルダに外部ファイルとしてセーブファイルを出力します。
※ブラウザ上でセーブできない場合(消えた)実際に起きた現象と対策(ゲームフェスなどでは、ローカルストレージをクリアするボタンも必要かも)
⬇︎詳しくはこちら⬇︎