猫史档案馆


【墨教】子弹飞刀效果初步

用户:凌_墨水凌_墨水查看:5 回复:18 评论:5 创建时间:2021-08-15T17:20:16


————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 

说到子弹效果

很多人头上都是雾

这个思路好繁琐

要计算朝向要BALABALA一大堆

那可能是因为不了解direction

可能有些大佬不是这样)

我开始也很迷

但是很多人忽略了API一个经典实例

这个实例曾被用在各大喵战地图中

没错

就是它:

center_image

 

这段代码运用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的教程还是非常能深入

我们做代码效果各个方面的

所以…………

 

 

center_image

 

 

不喜勿喷aa


回复

上一页1 页 / 共 1下一页
ZCH的March兴修ZCH的March兴修

顶顶

点赞0


评论


指令者指令者

az

点赞0


评论


凌_墨水凌_墨水

话说子弹模型面向……把子弹换成球不就好了)emotion_doge

点赞0


评论


umbrallawwumbrallaww

awa

 

点赞0


评论


凌_墨水凌_墨水

中间有一行说错了,其实玩家飞出和子弹飞出是有区别的中间y轴的velocity应为     e.velocity.y+=direction.y   需要改动

点赞2


评论


Architect_皮卡awaArchitect_皮卡awa

hhhh

这个超简单()

萌新:不不不!这很难!蓝瘦香菇!

点赞0


评论


IaeaIaea

hh

点赞1


评论


指令者指令者

《初步》

点赞2


评论


凌_墨水凌_墨水

点赞1


评论


治愈绾兮治愈绾兮

az,搬砖不是已经发过粒子大乱斗了吗,直接改一下就好,用不着动脑()

点赞1


评论


async_functionasync_function

awa

点赞1


评论


codemaofacecodemaoface

喵(非屏蔽词)

点赞0


评论


全能代码师全能代码师

墨水,我还会发射实体子弹(喵那种)(什)

点赞0


评论


全能代码师全能代码师

而且过滤碰撞不会有摩擦

点赞0


评论


全能代码师全能代码师

而且过滤碰撞不会有摩擦

点赞0


评论


星辰_零柒星辰_零柒

值得推荐!

点赞0


评论


Programming轩Programming轩

这个怎么不像子弹一样是直飞,像手雷一样丢

点赞0


评论


仙之鹤仙之鹤

dddd

点赞0


评论