如何让文字在一段时间后显示?

问题描述 投票:0回答:1

我是新手。我想在玩家到达门并等待一段时间后在门下显示一些文字,但文字没有显示。文本部分工作正常,但“call_later”不行。

var _callback = function()
{
    draw_set_font(v_lol);
    draw_set_colour(c_yellow);
    draw_text(x, y-30, "press key up");
}
        
if place_meeting(x,y,obj_player) = true 
{ 
    var _handle  = call_later(10,time_source_units_seconds,_callback);
}
game-development game-maker game-maker-language
1个回答
0
投票

我不熟悉

call_later
,但看起来您遵循了 Gamemaker 文档中的示例:https://manual.yoyogames.com/GameMaker_Language/GML_Reference/Time_Sources/call_later.htm

我认为发生的情况是,只要您在门前,

call_later
的倒计时就会重置。 (文档未指定它是否在“创建”事件或“步骤事件”中)也许您可以进行布尔检查,以便它只执行一次 if 语句,直到显示消息。 (也许有更好的替代方案,但这更多是为了确认)

示例:

//For Create Event:
bool beginCountDown = false;

//Step Event:
var _callback = function()
{
    draw_set_font(v_lol);
    draw_set_colour(c_yellow);
    draw_text(x, y-30, "press key up");
    beginCountDown = false;
}
        
if (place_meeting(x,y,obj_player) = true && beginCountDown == false)
{ 
    var _handle  = call_later(10,time_source_units_seconds,_callback);
    beginCountDown = true;
}
© www.soinside.com 2019 - 2024. All rights reserved.