スクリプト/変数(履歴ID:18)

最終投稿者:Material 6858 mini akasata 更新:2010/01/28 13:21:27

変数について


変数とは

変数とは、数値や文字列などプログラムで扱うデータを
名前に関連付けて保持するものです。

Rmakeの変数

現在Rmakeのスクリプト言語(arrp)には
setVariableの変数(基本変数)とarrpの変数(ローカル変数)があります。

基本変数(setVariable関数で宣言する変数)


基本変数とは、setVariable関数によって宣言される変数です。基本変数は、セーブ・ロード時に保存されます。

変数を宣言するには、以下のように書きます。

# 変数aを宣言して、10という値を代入
setVariable("a", 10)


基本変数を取得するには、以下のように書きます。

# 変数aの値を取得する
getVariable("a")


サンプル

# 変数aを宣言して、10という値を代入
setVariable("a", 10)

# 変数aを取得して、speak関数で表示する
# 「a = 10」という値が表示される
speak("a = ", getVariable("a"))

# 変数aの値を20という値で上書きする
setVariable("a", 20)

# 変数aを取得して、speak関数で表示する
# 「a = 20」という値が表示される
speak("a = ", getVariable("a"))



arrpの変数(ローカル変数)

arrpの変数(ローカル変数)は言語の機能として標準で用意されている変数の機能で、
以下のように使います。

a = 10
speak("a = ", a)


現在、Rmakeのセーブロード機能では基本変数(setVariableで設定した変数)の
値は保存します。しかし、ローカル変数は保存しません。

そのため、createTextの返り値のハンドルなどをローカル変数に代入すると
セーブロード時に、ハンドルが取得できなくなる問題が発生する可能性があります。

また、ローカル変数は、2DアクションRPG/2DRPGのマップ移動時、ノベルゲームの
シーン/チャプター移動時に削除されます。マップ・シーンをまたがった利用はしない
ようにしてください。そのような場合は、基本変数を使ってください。