猫史档案馆


aygaeig315

aygaeig315

Lv.1

获赞:1189收藏:213浏览:4780作品收藏:77
回复帖子评论
上一页1 页 / 共 21下一页

【春节活动·初八开始兑换奖品】编程猫给大家发压岁钱啦! 中回复

emotion_编程猫_搓头

2021-02-14T19:32:37 点赞:1

【每日一个岛3建图小技巧】拥有一个跟随的皮卡丘?就决定是你啦! 中回复

不能直接复制到自己作品emotion_编程猫_溜了溜了

console.clear()
const mscale = 1 / 16
const Quat = new Box3Quaternion(0, 0, 0, 1)

function buddyFollow(entity, mesh, y) {
    const buddy = world.createEntity({
        mesh,
        position: entity.position,
        meshScale: [mscale, mscale, mscale],
        gravity: false, //不受重力影响
        fixed: false, //可推移
        collides: true, //可碰撞
        friction: 0, //无摩擦力
        mass: 0.01, //非常轻
    })

    const tgPos = entity.position//僚机的目标位置
    const budPos = buddy.position//僚机的当前位置
    const facing = entity.player.facingDirection//玩家的朝向
    const ratio = 0.5//追随的灵敏度, 最好设在0.5左右, 1.0表示立即移到玩家位置

    const dist = 0 //与玩家保持的距离
    const yOffset = y //y轴位移, 保持僚机在头顶或脚下

    const ticker = world.onTick(() => {

        //要让小精灵跟在玩家背后, 需要计算xz轴的位移: 玩家朝向的反方向
        const xOffset = facing.x * dist
        const zOffset = facing.z * dist


        //当前位置与目标位置在xyz轴的差距
        const xDiff = tgPos.x - budPos.x
        const yDiff = tgPos.y - budPos.y
        const zDiff = tgPos.z - budPos.z

        //计算xyz方向上 当前位置向目标位置靠拢的速度
        const 喵 = (xDiff + xOffset) * ratio
        const vy = (yDiff + yOffset) * ratio
        const vz = (zDiff + zOffset) * ratio

        buddy.velocity.set(喵, vy, vz)//设置僚机速度

        if (buddy.velocity.sqrMag() > 0.005) {//速度要足够大, 才触发转向, 防止抖动
            buddy.meshOrientation = Quat.rotateY(Math.atan2(zDiff, xDiff)) //让小精灵一直面向玩家
        }
    })

    return () => {
        ticker.cancel() //关掉tick循环
        buddy.destroy() //移除僚机实体
    }
}

world.onPlayerJoin(({ entity }) => {
    entity.setPet = buddyFollow(entity, 'mesh/无人机.vb', 2) //给玩家增加宠物
})

world.onPlayerLeave(({ entity }) => {
    //玩家离开地图时, 切记一定要关掉tick循环以及销毁小精灵实体, 否则随着人数增加, 服务器积累到一定程度就会崩溃
    entity.setPet() //干掉宠物
})
world.onPlayerJoin(({ entity }) => {
    entity.player.addWearable({
        bodyPart: Box3BodyPart.RIGHT_LOWER_ARM,
        mesh: 'mesh/光剑.vb',
        orientation: new Box3Quaternion(0, 1, 0, 0).rotateY(Math.PI/2),
        scale: new Box3Vector3(1, 1, 1),
        offset: new Box3Vector3(0, 1, -0.15),
    });
});

world.onPlayerJoin(({ entity }) => {
    if (entity.player.name==="大喵原d8i6"||'难起的名字'){
        Object.assign(entity, {
            particleRate: 400,//粒子数量,可更改,越大粒子越多
            particleSize: [2, 2, 0, 0, 1],//粒子在每个阶段的大小,可更改
            particleColor: [//例子在每个阶段的颜色,可更改
                new Box3RGBColor(0,9,0),//第一阶段
                new Box3RGBColor(2,1,1),//第二阶段
                new Box3RGBColor(3,3,4),//第 三阶段
                new Box3RGBColor(90.9,6,99),//第四阶段
                new Box3RGBColor(1.03,0,9),//第五阶段
                new Box3RGBColor(1.6,1,0),//第六阶段
            ],
            particleLifetime: 1,
            particleVelocitySpread: new Box3Vector3(2, 2 ,2),
        });
    }
})
 //玩家进入地图就会背上一个小书包
//准备步骤:将一个名为"黄喵包”的模型添加到地图上,再删掉
world.onPlayerJoin(({ entity }) => {
    entity.player.addWearable({
        bodyPart: Box3BodyPart.TORSO,//装备穿戴的位置在身上
        mesh: 'mesh/黄喵包.vb',//装备是一个叫做“黄喵包”的模型
        orientation: new Box3Quaternion(0, 1, 0, 0).rotateY(Math.PI/2),//将模型沿着Y轴旋转90度
        scale: new Box3Vector3(0.5, 0.5, 0.5),//模型大小长宽高都缩小0.5倍
        offset: new Box3Vector3(0, 0, -0.45),//装备的位置,向人背后偏移一些
    });
});
// 添加检测玩家进入或离开 x:0-喵, y:0-20, z: 0-喵 的区域
const area = world.addTrigger({
    selector: 'player',
    bounds: {
        lo: [0, 0, 0],
        hi: [喵, 20, 喵],
    },
})

// 需要用 onEnter() 和 onLeave() 触发事件
area.onEnter(({ entity }) => {
    // 有玩家进入区域
});

area.onLeave(({ entity }) => {
    // 有玩家离开区域
});
// 碰到岩浆受伤, 碰到字母H恢复生命
world.onVoxelContact(({ entity, voxel, x, y, z }) => { //当触碰方块
    if (voxel === voxels.id('lava02')) { //如果方块类型是岩浆
        entity.hurt(20) //受伤
    } else if (voxel === voxels.id('H')) { //如果方块类型是H字母
        entity.hp = entity.maxHp //恢复满血
        voxels.setVoxel(x, y, z, '') //消掉H方块
    }
})
console.clear()
world.onPlayerJoin(({ entity }) => {
    entity.enableDamage = true //允许这个实体 受伤/喵亡/复活
    entity.hurt(50) //去掉玩家半管血
    console.log('hp:'+entity.hp) //现在受伤后只剩399了
    console.log('maxHp:'+entity.maxHp) //生命值上限, box3里所有实体默认maxHp是100

})
// 当玩家进入游戏
world.onPlayerJoin(({ entity }) => {
    // 如果玩家接触到了世界中的方块
    entity.onVoxelContact(({ x, y, z }) => {
        // 将方块变成空气
        voxels.setVoxel(x, y, z, 0);
    });
});

console.log('Welcome to Box 3!');
//一个模型
world.onPlayerJoin(({ entity }) => {
    if (entity.player.name==="无人机"||'难起的名字'){
        Object.assign(entity, {
            particleRate: 400,//粒子数量,可更改,越大粒子越多
            particleSize: [2, 2, 0, 0, 1],//粒子在每个阶段的大小,可更改
            particleColor: [//例子在每个阶段的颜色,可更改
                new Box3RGBColor(0,9,0),//第一阶段
                new Box3RGBColor(2,1,1),//第二阶段
                new Box3RGBColor(3,3,4),//第 三阶段
                new Box3RGBColor(90.9,6,99),//第四阶段
                new Box3RGBColor(1.03,0,9),//第五阶段
                new Box3RGBColor(1.6,1,0),//第六阶段
            ],
            particleLifetime: 1,
            particleVelocitySpread: new Box3Vector3(2, 2 ,2),
        });
    }
})

2021-05-27T22:44:05 点赞:1

企鹅大陆作图求助 中回复

我可以

2021-05-27T22:48:21 点赞:1

企鹅大陆作图求助 中回复

(代码师)

2021-05-27T22:49:04 点赞:1

企鹅大陆作图求助 中回复

现在进吗?

2021-05-28T17:53:43 点赞:0

企鹅大陆作图求助 中回复

企鹅,企鹅,来 我 地 图

2021-05-28T20:54:56 点赞:1

为什么音乐发不出去 中回复

https://box3.cod喵/e/3a9221f1c9ed3e40411a我招人

2021-05-29T11:04:05 点赞:0

来一起摧毁地图 中回复

emmmm

2021-05-29T18:40:26 点赞:1

企鹅大陆建筑,代码完成不到一半,求助 中回复

我来

2021-05-29T20:37:56 点赞:0

【水】请用1—4个字形容你楼下头像() 中回复

一只吉吉喵

2021-05-29T22:40:36 点赞:0

kitten 4.0的大问题,求助! 中回复

能看看我的吗

2021-06-05T22:57:25 点赞:0

找啊找啊找师傅 中回复

路过(本人只在代码岛活动)

2021-06-05T23:27:31 点赞:1

找啊找啊找师傅 中回复

岛三招人(建筑师)(代码师已有五名)

2021-06-07T14:14:36 点赞:0

【岛3招人】新飞龙大陆! 中回复

我来我来

2021-06-07T23:35:25 点赞:0

box3.0强制重启服务器的方法,找到了!!! 中回复

额az

2021-06-07T23:50:22 点赞:1

气 突 苏(绾兮版) 中回复

az

2021-06-07T23:53:23 点赞:0

气 突 苏(绾兮版) 中回复

https://www.bilibili.com/video/BV1Gi4y1N7q5?share_source=copy_web打开

2021-06-08T14:27:19 点赞:0

气 突 苏(绾兮版) 中回复

乌拉!

2021-06-08T14:27:28 点赞:0

[求助]请问如何实现手机倾斜控制角色移动? 中回复

考古

2021-06-08T14:40:43 点赞:0

寻师试炼怎么按? 中回复

???

2021-06-08T14:49:33 点赞:0

源码精灵新活动!同人画征集活动! 中回复

好!!!

2021-06-09T19:17:51 点赞:0

(询问)大家和我的关系是? 中回复

5?7emotion_doge12

2021-06-09T20:01:37 点赞:0

吉吉喵!有一个盗 号者!他盗我号! 中回复

名字不一样

2021-06-09T20:40:50 点赞:0

【html恶搞代码】请输入“你喵” 中回复

<!DOCTYPE html><html><head><meta charest=utf-8></head><body><p style="font-size:15pt;">请输入"我喵"</p><script>function submit(){var x=document.getElementById("text").value;if(x=="我喵"){alert("哈哈哈,猪,你被骗啦!");}else{alert("输入错误!");}}</script><span><input type="text" id="text"><input type="button" value="提交" onclick="submit()"></span></body></html>

2021-06-09T20:43:16 点赞:0

【html恶搞代码】请输入“你喵” 中回复

???

2021-06-09T20:43:26 点赞:0

【谢谢大家】谢谢大家的支持 中回复

考古

2021-06-09T20:51:59 点赞:0

用一句话证明你是外星人(滑滑稽稽) 中回复

                                                                                             

2021-06-14T19:11:49 点赞:0

(询问)大家和我的关系是? 中回复

12  5?

2021-06-19T15:39:49 点赞:0

符号分享☟☟ 中回复

emotion_doge

2021-06-20T18:43:11 点赞:0

屑半纸的《斗罗之九尾神狐》招设定呐 中回复

姓名:(例:楚灵月)隆葵英

年龄:(例:18岁)18

性格:(例:活泼可爱)有亿点喵

武魂:(例:九尾狐)龙

所属势力:(例:星斗大森林)星斗大森林

备注:(例:比较呆萌)一直很呆

2021-06-23T20:35:40 点赞:0