问题: 触发对话框后,我希望玩家按下“ E”进入下一行对话。目前,它计算的是按下按钮的次数,但不会前进到下一行。
详细说明: 我将obj_textbox设置为每次按下“ E”和“ talking = true”时都会增加变量“ talkcount” +1。我知道这是通过绘制变量来实现的。我现在遇到的问题是使用“ talkcount”变量更改文本。我已将文本存储在脚本“ wizard_start_state”中。
当前,我的系统是这样工作的。播放器按“ E”创建一个互动式点击框。如果它与向导冲突,则会将变量“ talking”变为true。如果“ talking”为true,则将绘制文本框gui,它将从Hitbox中获取文本,而Hitbox是从向导中获取的,向导是从脚本“ wizard_start_state”中获取的。我怀疑该错误是在“ obj_textbox”和“ wizard_start_state”之间,因此我将发布该代码以及我认为可能相关的任何其他信息。
以前的尝试: 我跟踪了各种对话教程以获取线索,但是它们通常对我而言太高级了。我查看了文档,以获取有关步骤事件和脚本之间的关系的信息(我觉得这就是问题所在),但效果不佳。
相关代码: (obj_textbox)
步骤
if(instance_exists(obj_talk)){
//get text from obj_talk
testtext = string(obj_talk.gettext);
//get portrait from obj_talk
drawportrait = obj_talk.textimg;
按键E
if (object0.talking == true){
obj_textbox.talkcount +=1;
}
(脚本)向导启动状态
if (obj_textbox.talkcount == 0){
wizard.talktext = string("greetings pathetic chap");
}
if (obj_textbox.talkcount == 1){
wizard.talktext = string("You snob");
}
向导(对象)
talktext = 0;
state = wizard_start_state;
//get dialogue portrait
portrait = spr_port_wizard1;
obj_talk(对象)
创建
gettext = string("");
textimg = false;
alarm[0] = 1;
警报
if (object0.talking == false){
instance_destroy();
}
与向导碰撞
object0.talking = true;
draw_text((x-100), (y-30), "collided On");
gettext = string(other.talktext);
textimg = other.portrait;
游戏玩家版本:v2.2.4.474 我非常疲惫和困惑。如果有任何陌生人伸出援手,我将永远感激你。谢谢!