嘿,我将举一个例子说明我想做什么,假设我有 5 个圆形精灵,在我的 gml 代码中,如果 cirlce_1 被触摸,那么你可以触摸 circle_2,如果 circle_2 被触摸,那么你可以触摸circle_3. 请谁能帮助我,愿意通过贝宝给予奖励。
问问题
322 次
1 回答
2
Game Maker 中的触摸事件被视为鼠标事件。如果您希望圆圈只允许玩家按顺序触摸它们,您可以为每个圆圈分配一个编号,并使它们都成为同一个对象。看看这个:
创建圆圈的脚本
counter = 0;
lastball = 0;
for(i = 0; i < 10; i++){//Make that third part "i += 1" if using a version before Studio
c = instance_create(floor(random(room_width)), floor(random(room_height)), objCircle);
lastball++;
c.myNum = lastball;
c.radius = 16;//Or whatever radius you want
};
这里的 for 语句会自动在房间周围生成圆圈,但如果你想手动控制,试试这个:
新圆()
c = instance_create(argument0, argument1, objCircle);
c.myNum = lastball;
c.radius = 16;
lastball++;
这将在您想要的任何地方创建一个新圆圈lastball
,并且每次调用时都会自动增加。例如,您可以说newCircle(16, 27);
.
在 objCircle 的步骤代码中
if(mouse_check_button_pressed(mb_left) && point_distance(x, y, mouse_x, mouse_y) < radius && counter == myNum){
counter++;//Or counter += 1 in versions before Studio
//Insert whatever circles do when clicked here
};
单击时可以使圆圈做任何事情。由于它们都是同一个对象,也许您可以使用 switch 语句,以便每个对象根据其数量执行不同的操作。
如果还有什么我可以帮忙的,请告诉我。
于 2015-09-13T01:12:00.100 回答