猫史档案馆


【box3】激光炮-代码全公开

用户:YDS尹子YDS尹子查看:21 回复:20 评论:21 创建时间:2021-01-30T15:31:11


center_image

使用指南

长按左键即可使用激光束,松开即结束喵

操作指南

步骤:首先放置一个名为"舰载激光炮"的模型,并添加标签"autogun".

其次,随处放一个模型并将其调整到一个合适的大小(这个大小决定了激光束的粗细),并添加标签"laser".

然后,添加以下代码:

const Quattt = new Box3Quaternion(0, 1, 0, 0);

world.onPress(({button,raycast:{hitPosition}}) => {
    if (button=='action0'){
        world.querySelectorAll(".autogun").forEach(async (e) => {
            var direction = hitPosition.sub(e.position);
            var orientation = Quattt.rotateY(Math.atan2(direction.z, direction.x));
            e.meshOrientation.copy(orientation);
            world.querySelectorAll(".laser").forEach((en)=>{
                en.meshInvisible=true;
                en.position.set(e.position.x,e.position.y+0.9,e.position.z);
                    en.particleLimit = 1000;
                    en.particleRate = 1000;
                    en.particleColor = [new Box3RGBColor(0.2, 0.2, 1), new Box3RGBColor(0.5, 0.5, 1)];
                    en.particleSize = [10, 8]
                    en.particleAcceleration.set(0, -5, 0);
                    en.particleVelocity.set(direction.x*8,direction.y*8,direction.z*8);
                    en.particleLifetime = 2;
            })
           
        })
        

    }

});
world.onRelease(({button})=>{
    if(button=='action0'){
        world.querySelectorAll(".laser").forEach((en)=>{
            en.particleLimit =0;
        })
    }
})


回复

上一页1 页 / 共 1下一页
Architect_皮卡awaArchitect_皮卡awa

尹子!

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

sofa!

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

关注我!

我已经关注你了!

来这里帮我搞一下!

https://box3.codemao.cn/e/682efcabad37998bd6b1

点赞0


评论


****************

好玩

点赞0


评论


小树同学小树同学

人才

emotion_编程猫_点赞

点赞0


评论


传说云(已退)传说云(已退)

666!

点赞0


评论


DL1DL1

尹子,瓢虫找你来https://box3.codemao.cn/e/53c41b711975d0b1fd1b

点赞1


评论


机智的蓝雀机智的蓝雀

前排

点赞0


评论


GZ006GZ006

我记得L_W有一个玩家喷火的粒子

点赞0


评论


IaeaIaea

666

 

点赞0


评论


白篮白篮

emotion_编程猫_点赞

点赞0


评论


QBZ_QBZ_

emotion_编程猫_点赞

点赞0


评论


_Rise__Rise_

emotion_编程猫_点赞

点赞0


评论


高贵的木叶龙A35d高贵的木叶龙A35d

点赞0


评论


lon江航lon江航

emotion_编程猫_点赞

点赞0


评论


治愈绾兮治愈绾兮

不能攻击?

点赞0


评论


不知道该叫啥的一只萌新不知道该叫啥的一只萌新

求导弹代码

点赞0


评论


Architect_皮卡awaArchitect_皮卡awa

emotion_编程猫_点赞

点赞0


评论


幽梦子曦幽梦子曦

你家代码老了,在下改了一下

world.onPress(({button,raycast:{hitPosition}}) => {
    if (button=='action0'){
        world.querySelectorAll(".炮").forEach(async (e) => {
            var direction = hitPosition.sub(e.position);
            var orientation = Quattt.rotateY(Math.atan2(direction.z, direction.x));
            e.meshOrientation.copy(orientation);
            world.querySelectorAll(".激光").forEach((en)=>{
                en.meshInvisible=true;
                en.position.set(e.position.x,e.position.y+0.9,e.position.z);
                    en.particleLimit = 1000;
                    en.particleRate = 1000;
                    en.particleColor = [new Box3RGBColor(0.2, 0.2, 1), new Box3RGBColor(0.5, 0.5, 1)];
                    en.particleSize = [10, 8]
                    en.particleAcceleration.set(0, -5, 0);
                    en.particleVelocity.set(direction.x*8,direction.y*8,direction.z*8);
                    en.particleLifetime = 2;
            })
           
        })
        

    }

});
world.onRelease(({button})=>{
    if(button=='action0'){
        world.querySelectorAll(".激光").forEach((en)=>{
            en.particleLimit =0;
        })
    }
});

world.querySelectorAll('.par-x').forEach((e)=>{
    e.particleLimit = Infinity;
    e.particleRate = 2000;
    e.particleSize = [0.2,0.2,0.2,0.2,0.2];
    e.particleColor = [
        new Box3RGBColor(10,0,0),
        new Box3RGBColor(10,0,0),
        new Box3RGBColor(10,0,0),
        new Box3RGBColor(10,0,0),
        new Box3RGBColor(10,0,0)
    ];
    e.particleNoise = 0;
    e.particleVelocity = new Box3Vector3(-7,7,-7);
    e.particleAcceleration = new Box3Vector3(-1,0,0);
    e.particleLifetime = 5;
});

点赞0


评论


夜影行者夜影行者

收藏

点赞0


评论