网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月15日
漏签
0
天
redstone_machine...吧
关注:
3,610
贴子:
60,862
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
46
回复贴,共
2
页
,跳到
页
确定
<返回redstone_m...吧
>0< 加载中...
【从源码分析】为什么说方块和实体的交互永远无法绝对精准
只看楼主
收藏
回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
一楼喂熊,tnt镇楼
送TA礼物
IP属地:中国香港
1楼
2020-03-31 14:20
回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
首先是一串数字。
这是每一个炮党都为之颤抖的数字
IP属地:中国香港
2楼
2020-03-31 14:22
回复
收起回复
台州谷翻网络科技有限公司
度竞价开户,行业不限,当天下单当天上线推广,关键词不限,按效果付费TG:XJYL0815度竞价开户,支持先上线后付款,9年广告开户,推广运营经验,一级代理商,高品质优化
2025-03-15 18:49
广告
立即查看
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这数字(0.9800000190734863)是tnt的边长。
你一定很迷惑,为什么它是这样滚键盘的数字
事实上,这和麻将的一些很zz的操作有关。
IP属地:中国香港
3楼
2020-03-31 14:24
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如果我们打开MC的源码,可以发现tnt的边长在代码中的确是“0.98”。我们也没理由相信麻将为了给玩家挖坑,特地滚键盘
。
所以这是什么问题呢?难道Java出bug了?
不要慌,先默念三遍,Java没bug,Java没bug,Java没bug。
然后,再看一段代码。
IP属地:中国香港
4楼
2020-03-31 14:28
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这是方块和实体交互的一段代码,乍一看也没问题
。
等等,这是什么
我们终于找到了问题所在——MC在计算方块和实体的交互的时候,会把float转换成double。
float和double是两种浮点数,单精度和双精度。而它们之间的转换,则会导致那串滚键盘的数字产生。
IP属地:中国香港
5楼
2020-03-31 14:33
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
计算一下,也印证了我的猜想。
IP属地:中国香港
6楼
2020-03-31 14:34
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
又比如说,爆炸的代码。
可以看到所有地方都是拿double来计算的。这也表明tnt的边长在游戏中可以等效为0.9800000190734863,不需要考虑一开始那个浮点数。
IP属地:中国香港
7楼
2020-03-31 14:37
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
再来看看别的
这是tnt创建爆炸的代码,可以看到(this.height/16)是导致高度衰减的元凶。而压爆效应的真正高度,变为了:
而不是简单的0.06125
IP属地:中国香港
8楼
2020-03-31 14:41
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当然,在对精度的要求不高的情况下,这个东西的影响不大;然而有些东西要求高精度
比如:珍珠炮
即使完全校准,珍珠的飞行轨迹还是会有微小的偏移,这就是这个原因导致的。
不仅仅是tnt,包括矿车、珍珠、生物、玩家在内的实体,都有这个问题……
IP属地:中国香港
9楼
2020-03-31 14:45
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那么最后一点,如何解决这个问题?
IP属地:中国香港
10楼
2020-03-31 14:46
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这里以tnt炮为例:
第一种方法,自暴自弃
【划掉】
有些时候不需要极高的精度,那么这样的0.0……01的误差也在接受范围之内。
第二种方法,把所有的tnt都归正到同一个角落。这样即使哪一个tnt都不在方块中心,tnt之间的相对距离还是能精确到1方块边长的。
第三种方法,把两叠含相同数量tnt的tnt堆分别放到方块的两个角落,用对称来打败游戏机制
这时候tnt对于上方的实体的爆炸效果就几乎相当于方块中心的爆炸
IP属地:中国香港
11楼
2020-03-31 14:55
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当然,tnt是这样,有些实体有着另外一种方法来归正
那就是游戏机制
比如,teleport【划掉】
比如这玩意
当你把矿车打掉的时候,猪会出现在旁边方块精确的中心位置上方。没有小数点。
IP属地:中国香港
12楼
2020-03-31 15:00
回复
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
利用这个,可以做出精准的猪炮
朝天上开炮之后,猪飞过几万格高后,可以精确无误地掉到原来的炮管的那格水里面。
图片我就不放了,总之这是一个可行的方法。
=================================此贴完结===================================
IP属地:中国香港
13楼
2020-03-31 15:02
回复(3)
收起回复
闪电小绿
时序复用
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我来@一波大佬们
@duoduo_123dong
@正正正正正好
@滚大幕
IP属地:中国香港
14楼
2020-03-31 15:04
回复(7)
收起回复
堕落o的风
微♀延时
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
看不懂,打扰了
IP属地:广东
15楼
2020-03-31 15:04
回复(1)
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
HLE vs TES
2253330
2
315打假打到考研圈
1931603
3
抗抗分析TES连跪内幕
1359428
4
KC拒绝被翻盘战胜CFO进决赛
1228419
5
李嘉诚卖港口给美国被官方点名
1137396
6
具俊晔抱大S骨灰痛哭
971300
7
LPL耻辱外战哪个输得最惨
851496
8
湖人会跌到附加赛吗
758839
9
龙飞船出发准备接回滞留宇航员
674388
10
LPL第二赛段你看好哪队
492870
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示