不管面向那都可以往你的面前发射一只箭
1134443057,你好。
/execute @p ~ ~3 ~ summon Arrow
这个是从空中落下来的
/execute @p ~1 ~1 ~ summon Arrow ~ ~ ~ {Motion:[0:-5.0f,1:-1.0f,2:0.0f],Rotation:[0:0.0f,1:15.0f]}
这个是从东边(x正半轴)射过来的(我算了老半天呢擦)
求采纳
/execute @p ~ ~3 ~ summon Arrow
这个是从空中落下来的
/execute @p ~1 ~1 ~ summon Arrow ~ ~ ~ {Motion:[0:-5.0f,1:-1.0f,2:0.0f],Rotation:[0:0.0f,1:15.0f]}
这个是从东边(x正半轴)射过来的(我算了老半天呢擦)
求采纳
用/execute指令
/execute (玩家名) ~a ~ ~b summon minecraft:arrow
a和b有一个大于0
接上高频,然后玩家一到某位置就会被射~(射~)
求回复和采纳
hh
/execute (玩家名) ~a ~ ~b summon minecraft:arrow
a和b有一个大于0
接上高频,然后玩家一到某位置就会被射~(射~)
求回复和采纳
hh
langyo 发表于 2017-1-1 15:37
1134443057,你好。
/execute @p ~ ~3 ~ summon Arrow
是射出去不是射过来,怪我语文不好
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吧。
如果你还是看不懂,我该画一堆图给你看?……
求采纳
langyo 发表于 2017-1-1 22:13
你早说啊……
如果是对着玩家所看的方向来一箭,那真的很不好办,因为你要对360°每个方向都做一个检测器 ...
你举个例子吧,比如我的角度是1.5 180
你这个好复杂啊,包括langyo的穷举法。。。
不过我有一个近似的做法,仅供参(yu)考(le)
在命令方块处召唤一个隐身、抗性V、缓慢的骷髅。。。
不过我有一个近似的做法,仅供参(yu)考(le)
在命令方块处召唤一个隐身、抗性V、缓慢的骷髅。。。
langyo 发表于 2017-1-1 23:26
刚刚确定图挂了,应该是这个
有点模糊
