2016-05-19 14 views
0

のグローバル変数や配列の使用、draw_textを使用して変数の値を描画するには、このようなものですそれは我々が望むすべての変数の名前を格納し、この問題が発生します。ゲームメーカー、ゲームメーカーでdraw_text

draw_text(xCoordinate, yCoordinate, string("global.") + string(arrayName[0])) 

代わりに最初のdraw_textと同じ値を示したの、それは今、文字通り示しています。代わりに、変数値のglobal.variableNameを。

この例は次のようになります。

入力:

draw_text(10, 10, string("global.") + string(enemyName[0])); 

出力:

global.Orc 

が、それは健康だろうと言うときの代わりに、それは言う必要があります:

出力したい:

10 

これを行うには苦痛を伴わない方法がありますか?私は古いゲームメーカーがこれらの機能を持っていたと信じています。

variable_local_get 
variable_local_array_get 

残念ながら、それらはもはや存在しません。

答えて

1

文字列をvaribaleとして渡すことはできませんが、数値を渡して配列のインデックスとして使用することはできます。たとえば、あなたが1つの配列を使用することができる代わりに、多くの変数、のような:

enemy_name = "Orc"; 
enemy_health = 100; 
enemy_speed = 4; 

は次のようになります。

enemy[0] = "Orc"; 
enemy[1] = 100; 
enemy[2] = 4; 

また、あなたはそれがどのように見えるかもしれない、数字の代わりにマクロを定義することができます。

enemy[ENEMY_NAME] = "Orc"; 
enemy[ENEMY_HEALTH] = 100; 
enemy[ENEMY_SPEED] = 4; 

他の方法は、ds_mapデータ構造を使用することです。ここでkeyは変数名として使用されます。

data = ds_map_create(); 
data[? "name"] = "Orc"; 
data[? "health"] = 100; 
data[? "speed"] = 4; 
0

draw_textから

(X座標、Y座標、文字列( "グローバル")+ストリング(arrayName [0]))

draw_text (xCoordinate、yCoordinate、string(global.arrayName [0]))

関連する問題