在Game Maker中,使用draw_text绘制变量的值是这样的:
#Sector C - Processing block:
RefinedPDBCodeList = [] #C1
with open('RefinedPDBCodeList') as inputfile:
for line in inputfile:
RefinedPDBCodeList.append(line.strip().split(','))
print(RefinedPDBCodeList[0])
['101m.pdb']
import urllib.request
for i in range(0, 1): #S2 - range(0, len(RefinedPDBCodeList)):
path=urllib.request.urlretrieve('http://www.rcsb.org/pdb/explore/explore.do?structureId=101m', '101m.pdb')
提供正在使用的变量是全局的,现在有一个存储我们想要的所有变量名称的数组,会出现这个问题:
draw_text(xCoordinate, yCoordinate, string(global.variable))
它不是显示与第一个draw_text相同的值,而是显示:global.variableName而不是变量值。
这方面的一个例子是:
输入:
draw_text(xCoordinate, yCoordinate, string("global.") + string(arrayName[0]))
输出:
draw_text(10, 10, string("global.") + string(enemyName[0]));
相反,如果说它会健康,应该说:
希望输出:
global.Orc
有没有办法在没有痛苦的情况下做到这一点?我相信老游戏制作者可以使用这些功能:
10
但不幸的是,它们已不复存在。
答案 0 :(得分:1)
您无法传递字符串以将其用作varibale,但您可以传递数字以将其用作数组的索引。例如,您可以使用多个变量,例如:
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;
答案 1 :(得分:0)
来自
draw_text(xCoordinate,yCoordinate,string(" global。")+ string(arrayName [0]))
要
draw_text(xCoordinate,yCoordinate,string(global.arrayName [0]))