忍者ブログ

でんきみちブロgu。(あ行。)

大変古い古すぎるレビューの置場。お絵かき掲示板消失により3年ぶりに雑記に転用(2017年)。現在はノベルゲーム制作とライブ2Dがマイブーム。

ティラノビルダー。システム変数。

ティラノビルダーでの変数管理窓は大変便利でフラグの管理に重宝しているのですが。
「システム変数」を使いたかったんですけど
いままでよくわからなかったんですよ…。

普通のフラグはゲームを終了して再起動したら初期値にもどりますが
システム変数はゲームを終了して再起動しても残っているフラグになるはず…

でクリア後のおまけをボタン、comdでフラグがあれば表示するようにしたくて
・変数管理で、endokのシステム変数にチェック入れて、
・クリア後部分に変数設定でendok 代入1 をして
・タイトル画面に
[glink target="omakegame" text="虫取りゲーム"
size=20 width="150" x=80 y=80 cond="f.endok ==true"]

を入れました。
表示されるけど再起動したらリセットされてるー。
cond=はglinkボタンをフラグのtrue、falseに応じて表示させるタグです

でもボタンのタグをsf.endokにするとフラグ効かなくて表示されないー

のでわからなくて2作目のゲーム作った時はシステム変数あきらめたんですが…

最近分かった
チェックボックスにチェック入れただけじゃだめだったんですね。


そして変数設定もティラノビルダーのを使うと「f.」しか設定できてないんですよ…
他にもやり方あるのかな?わかんない…


フラグには種類があって
f.フラグ名 ゲームフラグ セーブデータロードで上書き
sf.フラグ名 システムフラグ ゲーム再起動後も残るフラグ
tf.フラグ名 一時変数 ゲームを再開しても復元されない
ので、システム変数で条件出したいときは
[eval exp="sf.endok = 1"]
とティラノスクリプトでシステムフラグを記述(画像のティラノスクリプト部分)

としたうえで条件表示は
cond="sf.endok ==true"


としないとダメでしたね…
sf.を定義してsf.で条件を指示するということです。
あたりめーなことなんでしょうけど、
わかるのにたどり着くのに時間かかったよ…。_(:3」∠)_

ちなみに条件表示で画像ボタンをつかいたいときは
[if exp="sf.ep4 == true"]
[button name="button5" graphic="ep5.jpg"  enterimg="ep5on.jpg" target=*ep5 x=300 y=400]
[endif]
(enterimg="ep5on.jpgはカーソルのってる時の画像を指定)

グラフィカルボタンなら
[glink target="omakegame" text="虫取りゲーム" 
size=20 width="150" x=80 y=80 cond="sf.endok ==true"]

となります。_(:3」∠)_

あちなみに、cond="f.torinirei ==false"のとき表示させたい場合
フラグは1か0でtrue、falseの判定が可能ですが
システム変数だと初期値が無い状態になるのでfalseで出そうとすると存在ないので
でませんようです。要注意。


※追記
ブラウザゲームはデータがローカルストレージに保存されます。
フラグもここに保存されるのでシステムフラグを多用するとセーブデータと一緒で
保存領域を結構食うみたいです。

ブラウザのローカルストレージの容量制限は5MB程度らしく
セーブ5枠使うと1MBくらい行きます。

プレイヤーさんが他のゲームも遊んでらっしゃったりすると余裕ないですね。
削除してもらえればいいんですけど。

システム変数を使いすぎると負担になるみたいです。

*************
更に追記
セーブの用量はセーブのサムネの画質を下げると削減できます
デフォルトでは中になっているので
ゲームコンフィグのセーブのところで画質を低にしておくと
5枠使っても600~800KBくらいにはなるかな
システム変数の用量は検証してません。



****************************
更にさらに追記
このシステム変数の記事を書いた時はビルダー1.70でしたが
ビルダー1.80では、変数管理窓のシステム変数にチェックするだけで
変数タブを使ってもsf(システム変数)として処理されるようになっていました。
ジャンプの条件も同じです!
すごい手軽になってるヾヽ(´▽`)ノシ
ありがとうございますー









PR