システム変数/ティラノ のバックアップ(No.8)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- システム変数/ティラノ へ行く。
- 1 (2020-10-29 (木) 10:14:37)
- 2 (2020-10-29 (木) 11:16:12)
- 3 (2020-10-30 (金) 01:56:58)
- 4 (2020-11-01 (日) 21:47:12)
- 5 (2020-11-02 (月) 01:13:41)
- 6 (2020-11-02 (月) 03:14:13)
- 7 (2021-04-10 (土) 03:44:51)
- 8 (2021-04-15 (木) 03:46:42)
- 9 (2021-04-16 (金) 01:51:14)
- 10 (2021-04-16 (金) 04:03:44)
- 11 (2021-04-16 (金) 08:10:36)
- 12 (2021-04-17 (土) 02:11:00)
- 13 (2021-05-15 (土) 03:28:38)
- 14 (2021-08-29 (日) 00:15:51)
変数名
ティラノスクリプトのページには
・変数名には半角英数と全角文字、_ (アンダーバー) を使うことができる
・変数名の最初に数値がくることはできない
という記載がある。
上記の通り、全角文字でも私はバグらなかったが、不安な場合は半角英数のみで変数を作った方が無難。
ティラノービルダーバグ多いみたいなんで・・・。
変数の初期値
ゲーム変数(f)、システム変数(sf)は初期値は「0」ではなく「undefined」というものが入ってる状態。
ゲーム変数(f)
変数を新規作成時に初期値を設定できる為、「0」と入力して作っておくのが無難。
システム変数(sf)
変数を新規作成する際、ゲーム変数(f)とは違って初期値を設定することができない。
その為最初(作りたてほやほや時)は数字ではなく、「undefined」が入った状態となっている。
変数設定(乱数)
0~2と入力すると、1か2のみがランダムで選ばれる。
0~5なら「1」「2」「3」「4」「5」
システム変数に0を代入する
システム変数は最初(ゲーム本編に入る前)にスクリプトでシステム変数の初期値を設定しておく必要がある。
でないと、ティラノビルダーのデバッグでは通常に動くが、ティラノライダーでのデバッグやエクスポートした際にシステム変数が稼働しない。
メニュー内の「スクリプト」>「ティラノスクリプト」を選び、下記を入力する事でsf変数の初期値を設定する事が可能。
[tb_start_tyrano_code]
[if exp="sf.■変数名1■==null"]
[eval exp="sf.■変数名1■=0"]
[endif]
[if exp="sf.■変数名2■==null"]
[eval exp="sf.■変数名2■=0"]
[endif]
[_tb_end_tyrano_code]
※■変数名■(■も含めて)をシステム変数名に変更する。
「システム変数が存在しない場合(undefined)は初期値を与えて宣言し、存在する場合(0とか1とか)は何もしない」
という設定をこれで施す。
上記初期設定を入れれば、通常はメニューから「変数設定」で数字なりなんなり代入すれば良。
xx_0内容(初期化ページ)
※ティラノスクリプトの全容見えてないけど、
[tb_start_tyrano_code]
[if exp="sf.sf_test1==null"]
[eval exp="sf.sf_test1=0"]
[endif]
[if exp="sf.sf_test2==null"]
[eval exp="sf.sf_test2=0"]
[endif]
こうなっている。
下の空白の「ティラノスクリプト」は自動で出てくるので気にしなくていい。
参考:外部リンク
システム変数を初期値に戻す
0ではなく「undefined」に戻す場合は下記を
コンポーネント>スクリプト>ティラノスクリプトに入れれば良い。
[clearsysvar]
一つではなく、すべてのシステム変数を初期化する。
※くどいが「0」にするのではなく、初期化「undefined」にするものなので、デバッグ時にまっさらな状態でやりたいとかゲームをパッケージングする前とかそういう時しか今のところ使わないかな・・・。
一つだけ初期化したい場合は多分これでいける・・・?
(試してないのでわからんが)
if(sf.aa ==undefined){
sf.■変数名■ = 0;
}
参考ページ:外部リンク