可以在Gamemaker中链接对象吗?

时间:2019-03-08 04:07:33

标签: game-maker

我正在构建的游戏中有一个互动元素,当与不同元素进行互动时,它应该以相同的方式工作。为了使复制更加容易,我复制了包含此代码的对象,并更改了global.variable,该变量应定义每个单独的“组”(两个对象组成元素本身),以便它们分别工作-但是当我进行交互时在游戏中有一组时,它仍然会触发另一组同时做出反应。

可以在游戏制作者中链接对象吗?如果是这样,我如何取消链接这些对象,以便它们分别工作?

这是两者的代码,以防万一我忽略了代码中的某些问题。基本上,该组的工作方式是,当玩家与对象互动时,该对象会更改其实例,而新对象则会继承旧对象的功能。每组中的前三个图像是第一个对象,后三个图像是第二个对象。

第1组对象1;

创建事件

global.ssscollission = 0;

按键E

if (global.ssscollission = 0)
{
global.ssscollission = 1;
}

else
{
global.ssscollission = 0;
}

instance_change(obj_snakeplush,false)

绘制GUI

如果此处有碰撞,停止运动,字体文本和绘制值DnD功能

第1组对象2;

绘制GUI

如果此处具有碰撞,停止运动,字体文本和绘制值DnD功能,以及;

if (global.ssscollission)
{
draw_set_color(c_black);
draw_set_alpha(0.75);
draw_rectangle(0,0,room_width,room_height,0);
draw_set_alpha(1);
draw_set_color(c_white);
draw_set_halign(fa_center);
draw_sprite_ext(spr_sss,0,920,50,0.65,0.65,0,c_white,1);
draw_set_font(fnt_credit);
draw_text(1275,1400,"Press the [E] button to return.")

}

按键E

if (global.ssscollission = 0)
{
global.ssscollission = 1;
}

else
{
global.ssscollission = 0;
}

动画结束

image_index = image_number - 1;
image_speed = 0;

global.danielfound = global.danielfound + 1

第2组对象1;

创建事件

global.danieltree = 0;

按键E

if (global.danieltree = 0)
{
global.danieltree = 1;
}

else
{
global.danieltree = 0;
}

instance_change(obj_danieltree,false)

绘制GUI

如果此处有碰撞,停止运动,字体文本和绘制值DnD功能

第2组对象2;

绘制GUI

如果此处具有碰撞,停止运动,字体文本和绘制值DnD功能,以及;

if (global.danieltree)
{
draw_set_color(c_black);
draw_set_alpha(0.75);
draw_rectangle(0,0,room_width,room_height,0);
draw_set_alpha(1);
draw_set_color(c_white);
draw_set_halign(fa_center);
draw_sprite_ext(spr_sss,0,920,50,0.65,0.65,0,c_white,1);
draw_set_font(fnt_credit);
draw_text(1275,1400,"Press the [E] button to return.")

}

按键E

if (global.danieltree= 0)
{
global.danieltree= 1;
}

else
{
global.danieltree= 0;
}

动画结束

image_index = image_number - 1;
image_speed = 0;

global.danielfound = global.danielfound + 1

欢呼

0 个答案:

没有答案