我已经在工作几个月的谜题游戏中,我终于准备好解决我对这个游戏类型的主要挑战之一:撤销系统。 我已经想出了使用Reddit帖子"在房间中保存所有对象"中讨论的想法,但我不知道如何创建可能有几十个保存状态的撤销功能(类似于Patrick's Parabox或Baba is You)。 当前代码如下:
// 游戏开始时,对某个对象定义某些变量
全局.房间对象 = { 索引 : [] }
// 当点击交互按钮时
with(all){
if(self != other){
// 尝试避免递归结构,似乎不起作用
变量字符串 = ((变量实例获取名称(self.id)))
变量值 = []
for(var i = 0; i < 数组长度(变量字符串); i++){
变量值[i] = 变量实例获取(self.object_index,变量字符串[i])
}
变量结构设置(全局.房间对象,全局.房间对象.index,变量值)
// 上述代码被更改多次,但每次都没有正确工作。理想情况下,我希望创建一个新数组每个对象每次移动,但经常只保存上一次移动
}
}
最后一个注释:我想加载数据的方法是删除所有对象,然后根据游戏的前一状态创建对象,使用该对象的值。然而,代码的复杂性可能需要建议来结构化这个部分。
评论 (0)