Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 93|回复: 5

[单人游戏] 8个方向的穷举

[复制链接]
发表于 2017-11-14 23:05:14 来自手机 | 显示全部楼层 |阅读模式
30金粒
RT,具体说明下8个方向
①分别对应玩家前后左右的8个方块(就比如说指针指到左上角方块就XXX的)
②我这次应该描述的Z清楚了吧。。。。

最佳答案

查看完整内容

啊...关于特殊的那一份貌似参照上面那位说的吧ry rym调换一下就可以了。 我没试过跨正负数时取值会不会出问题...可以试试
回复

使用道具 举报

发表于 2017-11-14 23:05:15 | 显示全部楼层
啊...关于特殊的那一份貌似参照上面那位说的吧ry rym调换一下就可以了。
我没试过跨正负数时取值会不会出问题...可以试试

点评

额。。。。。有图例吗? 只看文字好难理解。。。  详情 回复 发表于 2017-11-15 12:39

评分

参与人数 2人气 +1 金粒 +1 收起 理由
2759159258 + 1 ↓在意这个评分。。。还有最后一楼当我没说.
FHC红石 + 1 正负跨越时好像要反过来

查看全部评分

回复

使用道具 举报

发表于 2017-11-14 23:29:50 | 显示全部楼层
你说的这个是玩家的朝向?可以按F5来获得rx和ry通过这两个就可以确定玩家面向的位置。
rx,rxm        实体垂直朝向(看的方向)
0:水平;-90:向上;90:向下
rx:最大的角度;rxm:最小的角度
只会视乎角度的整数部分, 比如实体的实际方向是1.1, rx=1,rxm=0和rx=2,rxm=1都会选择到那个实体
当rx>rxm的时候, 选择到的角度范围就是rx-rxm;
当rx<rxm的时候, 范围就会断开, 也就是上一个情况的相反, 详见下方例子
ry,rym        实体水平朝向(看的方向)
0:+Z方向;90:-X方向;180(-180):-Z方向;-90:+X方向
(可以使用大于180的度数)
ry:最大的角度;rym:最小的角度(如ry=50, rym=0就是50度的范围;ry=0, rym=50就是310度的范围)
当ry>rym, 选择到的角度范围=ry-rym;
当rym>ry, 选择到不到的角度范围就是ry-rym, 也就是上一个情况的相反。

评分

参与人数 1人气 +2 金粒 +12 收起 理由
2759159258 + 2 + 12 感谢~

查看全部评分

回复

使用道具 举报

发表于 2017-11-15 08:07:36 来自手机 | 显示全部楼层
emmm...手机版回车竟然不是换行

F3窗口
Facing一行最右边两个数值
(ry , rx)
ry是玩家前后左右的面向角度,也就是以y轴形成的角度转向
取值范围为,没记错的话 -180 ~ 179
179是因为ry= rym=179的时候,实际能检测到的范围是179.0~179.9

-180正北
-90正东
0正南
90正西

rx是玩家抬头低头的角度,90(朝下)~0(往前看)~-90(往上看)
你的问题貌似没有要求rx rxm的必要

回题...
360度 8份,一份45度
-180~-136,-135~-91,-90~-46,-45~-1
0~44,45~89,90~134,135~179

以为这样就完了?...
比如-180正北有一个方块,检测角度范围为45度一份
那么这一份实际的检测范围应该为 -158~158,
而不是-180~-136,或180~136。
因为如果是180~136的话就是正北往东偏一点
-180~-136就是正北往西偏一点,
然而实际检测范围应该是正北往左半偏移一半,同时往右半偏移一半
也就是两者折中。
(又因为不识别小数,所以整体有一度偏移...)
那么选择器上就要分成两组来检测这特殊的一份
(ry=-158,rym=-180) & (rym=158,ry=179)
同时也导致另外7份的角度要做出调整

最终结果就是
rym=23,ry=67
rym=68,ry=112
rym=113,ry=157
rym=158,ry=179 & rym=-180,ry=-158
rym=-157,ry=-113
rym=-112,ry=-68
rym=-67,ry=-23
rym=-22,ry=22

以上...
最后建议是检测到角度后转存为scb的8个分数在拿去用
回复

使用道具 举报

 楼主| 发表于 2017-11-15 12:39:28 来自手机 | 显示全部楼层
⊙v⊙ 发表于 2017-11-15 08:14
啊...关于特殊的那一份貌似参照上面那位说的吧ry rym调换一下就可以了。
我没试过跨正负数时取值会不会出问 ...

额。。。。。有图例吗?
只看文字好难理解。。。
回复

使用道具 举报

发表于 2017-11-15 14:00:39 | 显示全部楼层
2759159258 发表于 2017-11-14 18:39
额。。。。。有图例吗?
只看文字好难理解。。。


                               
登录/注册后可看大图
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2017-11-23 19:21 , Processed in 0.146207 second(s), 12 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表