我想知道如何在Unity2D中按下一个键后回到角色三秒前的位置呢?
1条回答 默认 最新
- wanghui0380 2022-10-16 17:48关注
如果仅仅是是角色(不要求整个场景)到简单,那就是每次更新动画的时候把角色的当前位置延迟3秒发送一次
如果会用Rx.net的一句话就行,不会用也没关系。 反正延迟赋值这种事情,自己写代码你也能实现
rx的例子
//定义部分 //定义一个观察源 Subject<DateTime> obSubject = new Subject<DateTime>(); //把第一观察源延迟3秒发送形成第2个观察源 var obdelay = obSubject.Delay(TimeSpan.FromSeconds(3)); //使用部分 //每次unity更新动画时候,你把新数据发送到第一个观察源里 obdelay.Subscribe(p => { //我这里用订阅观察效果,你可以看到,他实际到达这里是延迟了3秒的 var p1 = p; }); //这里是发送一个数据出去,从反射到上面那个订阅接收,实际被延迟了3秒 obSubject.OnNext(new DateTime()); } //ps:我用了rx.net做例子,不过例子本身不重要,只是说可以转变一下思路,与其费劲查找3秒前,不如让3秒前的延迟3秒发送出去
解决 1无用
悬赏问题
- ¥15 Opencv(C++)异常
- ¥15 VScode上配置C语言环境
- ¥15 汇编语言没有主程序吗?
- ¥15 这个函数为什么会爆内存
- ¥15 无法装系统,grub成了顽固拦路虎
- ¥15 springboot aop 应用启动异常
- ¥15 matlab有关债券凸性久期的代码
- ¥15 lvgl v8.2定时器提前到来
- ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
- ¥15 cam_lidar_calibration报错