猫史档案馆


【墨教】刀刃的攻击特效,像飞一样

用户:凌_墨水凌_墨水查看:9 回复:6 评论:9 创建时间:2021-06-30T10:39:57


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

如果有什么脑洞大开的奇妙想法

欢迎告诉墨水

墨水会尽全力用代码做出来的

emotion_编程猫_搓头

(实在不会那也没办法啊)

center_image

如你所见

一刀冲击波正在快速飞出

这里用到了装备模型的知识

其实是比较简单的

/*
1.找出模型,调至适合角度
2.用代码将模型装备初始位置
3.用循环变量加大模型装备的z坐标的offest
4.完成模型飞出效果
*/

不要问我为什么不直接用模型  问了就是懒得调方向

……

……

……

……

……

……

……

……

……

理解好了吗

上代码

world.onPlayerJoin(({ entity }) => {
    entity.player.onPress(async ({ entity, button }) => {
        if (button === 'action0') {//左键触发
            for (let i = 0; i < 40; i++) {//循环40次(或者是39次?)
                const allWearables = entity.player.wearables();//这段是抄API的,大意是消除所有装备,所以此处有待改进,只消除冲击波
                allWearables.forEach((item) => {//消除装备
                    item.remove();//消除装备
                });//消除装备
                entity.player.addWearable({//装备冲击波,模型名称叫“冲击波_1”
                    bodyPart: Box3BodyPart.TORSO,
                    mesh: 'mesh/冲击波_1.vb',
                    orientation: new Box3Quaternion(0, 1, 0, 0).rotateZ(Math.PI / 1),
                    scale: new Box3Vector3(2, 1, 2),
                    offset: new Box3Vector3(0, 0.5, i),//此处的i是上面的循环变量,控制offest的z坐标值,从而实现一点点飞出的效果
                });
                await sleep(50)//等待50毫秒再次执行
            }
            const allWearables = entity.player.wearables();//最后再次消除装备
                allWearables.forEach((item) => {
                    item.remove();
            });
        }
    })
})
//其实把消除装备的代码删掉也挺好玩的

学会了吗

各位可以在评论区展示成果

 

如果有什么好的想法请告诉墨水


回复

上一页1 页 / 共 1下一页
神岛吉吉喵神岛吉吉喵

墨水老师开课咯,前排支持~emotion_编程猫_加油

点赞1


评论


不练兔兔的屑博士不练兔兔的屑博士

dd

点赞0


评论


白鸽ovo白鸽ovo

墨水的帖怎么能不热呢,ddd

点赞0


评论


JYF_斗罗JYF_斗罗

我怎么没用

点赞0


评论


逢考必过加油逢考必过加油

墨水hi

点赞0


评论


请问你作业写完了吗请问你作业写完了吗

可以加个回旋功能吗?

点赞0


评论