使用GameMaker构建了这个对话系统。文本框采用九宫格设计,能够根据文字长度自适应调整大小而不会出现拉伸变形,并且带有弹性回弹渐入/渐出效果。每个字母会以同样的缓动动画依次落入位置,而不是瞬间全部显示。
该系统完全由数据驱动。每句对话都是一个结构体,可包含可选的on_start/on_complete回调函数,因此一句对话就能触发游戏逻辑(如解锁门、设置标记等),而对话控制器无需了解任何特定NPC的细节。抱歉GIF画质和气球素材处理得比较粗糙——我把它留到最后做,当时已经困得不行了。
如果有人也在做类似项目,我很乐意回答问题或分享代码!
评论 (0)