【红石】无延时电路元件的原理以及实现

@zoujt629讨论红石就不用您来您去了,玩游戏而已

刚刚也做了一些测试,基本验证了你的说法

但是在原理上与你所说的稍微有点出入


楼主 defanive2  发布于 2013-07-08 19:40:00 +0800 CST  
我的验证方法更具有说服力一点
这个0.5tick的延迟的确是存在的
如图造4个镜像的装置,直接输出给A命令方块
加了单向无延迟中继器的输出给B命令方块
无论哪种情况下都是A比B要先输出
所以基本上可以确定是有延迟了
PS 其实门的感应要比红石灯精确很多
红石灯无论如何闪动都至少会有1tick

——来自 MCLive


楼主 defanive2  发布于 2013-07-08 19:44:00 +0800 CST  
个人感觉争议最大的部分就是在于为什么第一个活塞会有0.5tick的延迟
而后面的活塞则不会有这0.5tick的延迟
MC是凭什么区别出第一个活塞和后续的活塞?

楼主 defanive2  发布于 2013-07-08 19:46:00 +0800 CST  
分析这个电路
上面的线路是经过4个无延迟中继器,每两个间隔1tick的中继器
第一个无延迟中继器有0.5tick的延迟
然后经过了1tick的延迟之后,此时才到下一个无延迟中继器
那么这个时候也应该有0.5tick的延迟
因为已经不是在第一个活塞的0.5tick更新时间了
所以说如果按这样分析的话,到达最后的A命令方块需要5tick
而右边的线路连接5个1tick中继器,到达B命令方块也是5tick
实际上A命令方块只有3.5tick的延迟,而不是5tick

——来自 MCLive


楼主 defanive2  发布于 2013-07-08 19:55:00 +0800 CST  
如果说是在第一个活塞的0.5tick后所有连带活塞都不再有延时的话
那么上楼那个电路的下一个活塞之前有一个中继器
至少在活塞更新的这时候无法判断出下一个活塞也是连带的
那么又为什么下一个活塞0.5tick的延迟也被减免了
蛋疼

楼主 defanive2  发布于 2013-07-08 19:57:00 +0800 CST  
一会去查源码,实验这么多不如源码好用

楼主 defanive2  发布于 2013-07-08 19:58:00 +0800 CST  
这个装置可以证明中继器是保留延迟到game tick的
上方A线,是1tick延迟
中间B线,是1.5tick延迟
下方C线,是2tick延迟
命令方块输出的时候是A B C的输出
每条线路再经过一个中继器之后,仍然是A B C的输出
说明中继器是保留延迟到game tick的

——来自 MCLive


楼主 defanive2  发布于 2013-07-08 20:05:00 +0800 CST  
结果是经过中继器之后仍然保留到game tick的延迟

——来自 MCLive


楼主 defanive2  发布于 2013-07-08 20:10:00 +0800 CST  
“活塞在每个红石tick的后半个更新”还是不对
如图上方线路是A,下方是B
上方,经过第一个活塞之后是0.5tick的延迟
那么第二个活塞更新也是处于后半tick,因此0延迟
经过1tick的推动,现在是1.5tick
第三个活塞的更新也是后半tick,那么也应该是无延迟
再加1tick的推动,也就是说2.5tick时到达命令方块
而下方B线路则是3tick后到达命令方块
理应是输出先A后B,而实际上是先B后A

——来自 MCLive


楼主 defanive2  发布于 2013-07-08 20:30:00 +0800 CST  
A线路实测应该是3.5tick,也就是说第二个和第三个活塞的延迟没有被减免

楼主 defanive2  发布于 2013-07-08 20:32:00 +0800 CST  

楼主:defanive2

字数:4289

发表时间:2013-07-01 23:51:00 +0800 CST

更新时间:2016-03-08 01:07:02 +0800 CST

评论数:623条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看