实况主本人
用/execute指令
/execute (玩家名) ~a ~ ~b summon minecraft:arrow
a和b有一个大于0
接上高频,然后玩家一到某位置就会被射~(射~)
求回复和采纳
hh

1134443057
langyo 发表于 2017-1-1 15:37
1134443057,你好。

/execute @p ~ ~3 ~ summon Arrow

是射出去不是射过来,怪我语文不好

langyo
1134443057 发表于 2017-1-1 19:20
是射出去不是射过来,怪我语文不好

你早说啊……
如果是对着玩家所看的方向来一箭,那真的很不好办,因为你要对360°每个方向都做一个检测器,因此你的电脑要承受至少360个超频。
先检测玩家的方向:
/testfor @p {Rotation:[0:xf,]}
再对应的射出去箭:
/execute @p ~x ~1 ~y summon Arrow ~ ~ ~ {Motion:[0:af,1:bf,2:cf],Rotation:[0:zf,1:15.0f]}
其中,a,b,c,x,y,z都是你要算的

如果你明白三维直角坐标系和极坐标的话,就比较好算了。设你的偏航为m,则箭的面对方向就是m,15°(你可以调成30°或45°的以射的更远);加速度比较难算,但x轴和z轴的加速度会成一个反比,你设置一个值(别太小),然后根据角度平均分配给x和z;位置也是个难题,它必须用极坐标算,你把(1,m°)这个极坐标转换成直角坐标,就是你要的x轴位置和z轴位置,网上有现成的转换器给你用;y轴位置固定,反正是从你的身体往前一部分那里射出来嘛,就1.5吧。

如果你还是看不懂,我该画一堆图给你看?……

求采纳

1134443057
langyo 发表于 2017-1-1 22:13
你早说啊……
如果是对着玩家所看的方向来一箭,那真的很不好办,因为你要对360°每个方向都做一个检测器 ...

你举个例子吧,比如我的角度是1.5 180

ruhuasiyu
你这个好复杂啊,包括langyo的穷举法。。。

不过我有一个近似的做法,仅供参(yu)考(le)
在命令方块处召唤一个隐身、抗性V、缓慢的骷髅。。。

langyo
1134443057 发表于 2017-1-1 22:19
你举个例子吧,比如我的角度是1.5 180



都写图里了,如果模糊或图挂了可以回复我

求采纳

langyo
langyo 发表于 2017-1-1 23:23
都写图里了,如果模糊或图挂了可以回复我

求采纳

刚刚确定图挂了,应该是这个

1134443057
langyo 发表于 2017-1-1 23:26
刚刚确定图挂了,应该是这个

有点模糊

langyo

S_J
langyo 发表于 2017-1-1 15:31
刚刚确定图挂了,应该是这个

这.....

第一页 上一页 下一页 最后一页