用户:
凌_墨水查看:5 回复:18 评论:5 创建时间:2021-08-15T17:20:16
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
说到子弹效果
很多人头上都是雾
这个思路好繁琐
要计算朝向要BALABALA一大堆
那可能是因为不了解direction
可能有些大佬不是这样)
我开始也很迷
但是很多人忽略了API一个经典实例
这个实例曾被用在各大喵战地图中
没错
就是它:

这段代码运用direction直接计算朝向
根本不需要我们动脑
所以
子弹代码如下
world.onPlayerJoin(({entity})=>{
entity.player.onPress(async({ button, raycast:{ hitEntity, direction } }) => {
if (button !== 'action0') {//熟悉的东西
return;
}
const e = world.createEntity({//创造子弹实体,这里模型叫做“子弹”
mesh: 'mesh/子弹.vb'
});
e.position.copy(entity.position)//将子弹拉到玩家的位置(这里需要注意,子弹和玩家需要增加过滤器,否则会被玩家自身挤飞)
e.velocity.x += direction.x;//它的发射各角度就相当于PVP时击飞玩家的角度,角度是一样的
e.velocity.y += 0.5;//无需多言
e.velocity.z += direction.z;//无需多言
await sleep(2000)//等待2000毫秒(即2秒)
e.destroy()//删除实体,避免实体过多导致的卡顿
})
})
懂了吧
API的教程还是非常能深入
我们做代码效果各个方面的
所以…………

不喜勿喷aa