Gamemaker - draw_sprite 在数据结构中没有发挥应有的价值
Gamemaker - draw_sprite not functioning as it should with value in data structure
我根据变量在 for 循环中的位置绘制精灵的代码如下:
for (var i = 0; i <= ds_list_size(Player.buffs) i += 1) {
cuBuff = ds_list_find_value(Player.buffs, i)
if cuBuff == sprite8
draw_sprite (cuBuff, 1, x -148, y -233,)
在我删除 if cuBuff == sprite8
之前,它一直在正常工作
当我这样做时 returns 错误:
#
致命错误
行动号 1
抽奖活动
对于对象 obj_UIPlayer:
draw_sprite 参数 1 类型不正确 (5) 需要数字 (YYGI32)
在 gml_Object_obj_UIPlayer_DrawEvent_1(第 16 行)- draw_sprite (cuBuff, 1, x -148, y -233,)
#
我不能在那里使用这个 if 语句,因为它需要根据 cuBuff 变量绘制并且它可能不等于 "sprite8"
谢谢你。
您应该已经发布了有关如何创建和填充列表的更多详细信息。但我假设 Player.buffs 包含精灵索引。您在 for 循环中忘记了一个分号,您应该使用小于比较器而不是小于或等于。作为额外的保护层,您还应该检查 ds_list_find_value 的 return 值是否未定义。
尝试这样的事情:
for (i = 0; i < ds_list_size(Player.buffs); i++) {
cuBuff = ds_list_find_value(Player.buffs, i);
if (!is_undefined(cuBuff)) {
draw_sprite(cuBuff, 0, x - 148, y - 233);
}
}
你之前必须在全局范围内声明一个局部变量 i,
您不能在 if 或循环中声明变量
var i;
for (i = 0; i <= ds_list_size(Player.buffs) i += 1) {
cuBuff = ds_list_find_value(Player.buffs, i)
if cuBuff == sprite8
draw_sprite (cuBuff, 1, x -148, y -233,)
我根据变量在 for 循环中的位置绘制精灵的代码如下:
for (var i = 0; i <= ds_list_size(Player.buffs) i += 1) {
cuBuff = ds_list_find_value(Player.buffs, i)
if cuBuff == sprite8
draw_sprite (cuBuff, 1, x -148, y -233,)
在我删除 if cuBuff == sprite8
当我这样做时 returns 错误:
#致命错误 行动号 1 抽奖活动 对于对象 obj_UIPlayer:
draw_sprite 参数 1 类型不正确 (5) 需要数字 (YYGI32) 在 gml_Object_obj_UIPlayer_DrawEvent_1(第 16 行)- draw_sprite (cuBuff, 1, x -148, y -233,)
#我不能在那里使用这个 if 语句,因为它需要根据 cuBuff 变量绘制并且它可能不等于 "sprite8"
谢谢你。
您应该已经发布了有关如何创建和填充列表的更多详细信息。但我假设 Player.buffs 包含精灵索引。您在 for 循环中忘记了一个分号,您应该使用小于比较器而不是小于或等于。作为额外的保护层,您还应该检查 ds_list_find_value 的 return 值是否未定义。
尝试这样的事情:
for (i = 0; i < ds_list_size(Player.buffs); i++) {
cuBuff = ds_list_find_value(Player.buffs, i);
if (!is_undefined(cuBuff)) {
draw_sprite(cuBuff, 0, x - 148, y - 233);
}
}
你之前必须在全局范围内声明一个局部变量 i, 您不能在 if 或循环中声明变量
var i;
for (i = 0; i <= ds_list_size(Player.buffs) i += 1) {
cuBuff = ds_list_find_value(Player.buffs, i)
if cuBuff == sprite8
draw_sprite (cuBuff, 1, x -148, y -233,)