我想知道如何在Unity2D中按下一个键后回到角色三秒前的位置呢?
如果仅仅是是角色(不要求整个场景)到简单,那就是每次更新动画的时候把角色的当前位置延迟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秒发送出去