Project1

标题: 【难题】关于实现(时间回溯)效果 [打印本页]

作者: 清澈淌漾    时间: 2024-5-8 03:26
标题: 【难题】关于实现(时间回溯)效果
曾经在gal里见过一些靠播片实现的时光倒流效果。

如果用rm来制作,按一个键,游戏回到5秒前的状态(并发生快速回溯 包括画面和音效)
是否只能靠不断截屏+录音并快进倒放来达到效果
作者: kyjoke    时间: 2024-5-8 09:20
很明显这内存搞得就太大了,你可以用Memento Pattern来记录需要的数据,每五秒就记录一次,然后按某个键位就读取
作者: 505681468    时间: 2024-5-8 09:59
除了画面,还有数据的回滚

动画、音效的回滚可以避免做回滚机制的时候
    例如技能特效,粒子特效等,太复杂的不支持回滚的就只能录屏了
并且只需要记录特定时间节点的数据或者数据结构简单支持回滚
    例如有地图事件的情况,地图事件是固定的就还好说,如果是不定的事件,那么就要看具体数据结构能不能抽象出来了

感觉上是一种特殊情况下实现的机制
作者: 小秋橙    时间: 2024-5-8 12:21
「5秒前」感觉就好难,即时制游戏里类似的机制我只在《粘粘世界》里见过。《魔塔》这类非即时游戏倒是简单多了,可以按步数、回合数、调查次数回溯……RPG见的最多的(比如仙剑奇侠传1和2)是剧情回溯(黄色滤镜下自动播放一些过往对话)。
作者: HM495    时间: 2024-5-8 12:33
听这个描述像是在说波斯王子时之砂
作者: 18958043911    时间: 2024-5-8 22:12
我有一个思路  可以在 $gameVariables  添加一个类 用于记录游戏的数据
例如 $gameVariables._objiect={队伍生命,角色状态,位置          }

游戏每隔5秒 记录一次
可以用游戏变量控制,使用可以采用角色传送和 地图切换的方法 进行过度  

//游戏变量拓展
var Game_Variables_saveEvent=Game_Variables.prototype.initialize
Game_Variables.prototype.initialize = function() {
    Game_Variables_saveEvent.call(this)

    //举例 添加一个游戏变量
    this._friendliness=undefined //$gameVariables._friendliness调用命令
      
    //定义游戏数据记录的变量
   
    this._objiect={队伍生命,角色状态,位置          } //$gameVariables._objiect 调用命令
                        
};
作者: 18958043911    时间: 2024-5-8 22:19
用公共事件 也可以做到  不过需要一个事件用于记录时间的变换  
设置
公共事件 触发类型 平行启动
每过多长时间
队伍信息等于当前的队伍信息 //用于记录事件信息

公共事件 触发类型 道具技能使用关联公共事件

当前的队伍信息等于上一个公共事件的数据
加入传送黑屏的方法 传送到记录数据的地点 进行过度




作者: 4887441    时间: 2024-5-14 08:19
存档加读档?设置个公共事件每个节点存档一次,按特定的按键黑屏过度读取上一个存档?画面倒退感觉有点困难。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1