内容来自RyiSnow视频讲解
这一节讲的是与NPC对话,新增了一个Game State游戏状态,对话状态。游戏状态后面会根据需要持续添加的。
与NPC对话
增加一个对话状态
在游戏窗口中增加一个int变量,表示对话状态,开始的时候玩家碰到NPC就会开始对话状态,按Enter重新进入游戏中状态。后来又改成了,当玩家碰到NPC按下Enter键才会进入对话状态。
实现对话的子窗口
这里叫“窗口“,不是特别准确,其实是在游戏窗口面板中填充绘制了一个圆角矩形,外面又描边绘制了一个frame(边框);为了看到后面的地图,又增加了一个透明度,最后的效果就是下面这样
显示对话内容
根据对话的“窗口”位置,x, y坐标确定对话内容坐标,然后将文本绘制到对话窗口里面,当文字过长的时候,文字会超出对话窗口。后面有相应的处理。
与npc面对面对话
在对话的时候,根据玩家面向的方向调整npc的方向即可。
文本过长的换行处理
在文本内容中提前增加了换行符号,这里使用的\n