猫史档案馆


【嗨嗨嗨,我又来了,不懂就问】请问我想发射模型,有没有好一点的代码,目前的不好用

用户:乌力VD5e-2乌力VD5e-2查看:0 回复:0 评论:0 创建时间:2022-12-31T14:50:50


//这是我目前用的

async function shoot(entity,mesh,speed,scale,atk,lifetime,raycast){
                               
                        Meshscale = [scale,scale,scale] //实体的缩放比例,根据原模型大小而设,一般情况设为[ 1/16, 1/16, 1/16]
                        const d = entity.player.facingDirection
                        r = raycast //r为射线检测
                        const ball = world.createEntity({
                        mesh: `mesh/${mesh}.vb`,
                        meshScale: Meshscale,
                        collides: true, // 开启碰撞
                        gravity: false, // 不受重力影响
                        position: entity.position, // 在射线原点生成球
                        velocity: d.scale(speed), // 球的初速度设为玩家射喵射方向向量的2倍
                        mass:0.1,
                        meshEmissive:true,
                        })
                        ball.id = entity.player.name
                        ball.onEntityContact(async({ other }) => { //每当球碰到另一个实体
                        if(other === entity)return
                        other.hurt(atk,{attacker:entity,damageType:'精神'}) //被碰实体受5点伤害  
                       })
        ball.onVoxelContact(({ voxel }) => {
            ball.destroy() 
        })
        await sleep(lifetime) //等5秒后自动清除球体
        ball.destroy() 


        
}


回复

上一页1 页 / 共 0下一页