GameMaker Studio2有一个事件叫GUI event.它不同于Draw 事件,它是用窗口上的坐标来定位。如果你把图片或文字放在X:0,Y:0,用它来绘制时,就会显示在屏幕的左上位置,而不是房间的左上角。
在游戏结束前,不管是胜利还是失败,我们都要把剩余时间显示出来。先添加两个游戏字体,字号一个为20,一个为12.字体可以是任意的,但是创建后,我们命名一个为fnt_message,另一个为fnt_timer。
给obj_controller 添加一个Draw GUI事件,填写下面的代码
if(global.game_state==states.won)
{
alarm[0]=-1;
draw_set_font(fnt_message);
draw_set_color(c_red);
draw_text(room_width/2-100,room_height/2-100,"YOU WON");
}
else if(global.game_state==states.lost)
{
alarm[0]=-1;
draw_set_font(fnt_message);
draw_set_color(c_red);
draw_text(room_width/2-100,room_height/2-100,"YOU LOST")
}
else
{
cur_time=ceil(alarm[0]/room_speed);
draw_set_font(fnt_timer);
draw_set_color(c_white);
draw_text(90,0,"Time left: "+string(cur_time));
}
继续,在Key Press-Enter事件里添加如下代码
shuffle_cards(deck);
alarm[0]=play_time*room_speed;
global.game_state=states.wait;
运行游戏,按回车键,玩家将能看到游戏剩余时间。并且玩完后就会知道,自己是胜利还是失败。
暂无关于此日志的评论。