猫史档案馆


【每日亿个岛3建图小技巧】点击建造或者摧毁方块,创意达人必备!

用户:神岛吉吉喵神岛吉吉喵查看:39 回复:64 评论:39 创建时间:2021-03-15T22:13:21


center_image

 

听闻很多小伙伴想要学会岛3的创造代码

通过点击鼠标实现建造方块或者摧毁方块

开启更多新玩法!

吉吉喵马不停蹄地给大家安排上咯:

https://www.bilibili.com/video/BV1JK4y1U7pG

1.点击鼠标摧毁方块

world.onPlayerJoin(({ entity }) => {
    entity.player.enable3DCursor = true // 开启方块光标
})

world.onPress(({ raycast, button }) => {
    if (button === Box3ButtonType.ACTION0) {
        const pos = raycast.voxelIndex // 射线指到的方块位置
        voxels.setVoxel(pos.x, pos.y, pos.z, '')
    }
})

2.点击鼠标建造方块

world.onPlayerJoin(({ entity }) => {
    entity.player.enable3DCursor = true // 开启方块光标
})

world.onPress(({ raycast, button }) => {
    if (button === Box3ButtonType.ACTION0) {
        const pos = raycast.voxelIndex.add(raycast.normal) // 射线指到的方块位置加上被选中的面的法线向量
        voxels.setVoxel(pos.x, pos.y, pos.z, 'stone')
    }
})

3.点击鼠标切换方块

const voxelList = ['stone', 'dirt', 'grass', 'lava01'] // 可选方块

world.onPlayerJoin(({ entity }) => {
    entity.selected = 0 // 当前选定方块的序号
    entity.player.enable3DCursor = true // 开启方块光标
})

world.onPress(({ entity, raycast, button }) => {
    if (button === Box3ButtonType.ACTION0) {
        const vox = voxelList[entity.selected]
        const pos = raycast.voxelIndex.add(raycast.normal) // 射线指到的方块位置加上被选中的面的法线向量
        voxels.setVoxel(pos.x, pos.y, pos.z, vox)
    }
    else if (button === Box3ButtonType.ACTION1) {
        entity.selected = (entity.selected + 1) % voxelList.length
        const vox = voxelList[entity.selected]
        entity.player.directMessage(`当前选定"${vox}"`)
    }
})

4.调出菜单选取方块

world.onPlayerJoin(({ entity }) => {
    entity.player.enable3DCursor = true // 开启方块光标
    entity.selected = 'stone' // 玩家当前选定dirt方块
})

world.onPress(async ({ entity, raycast, button }) => {
    if (button === Box3ButtonType.ACTION0) {
        const pos = raycast.voxelIndex.add(raycast.normal) // 射线指到的方块位置加上被选中的面的法线向量
        voxels.setVoxel(pos.x, pos.y, pos.z, entity.selected)
    }
    else if (button === Box3ButtonType.ACTION1) {
        const selection = await entity.player.dialog({
            type: Box3DialogType.SELECT,
            content: '选择方块类型',
            options: ['stone','dirt','grass','lava01','snow'],
        })
        if (selection) {
            entity.selected = selection.value // 更新玩家当前选定方块
        }
    }
})

学会并灵活运用这四招

就能很轻松地做出类似《起床战争》的游戏啦

快去试试吧~

emotion_编程猫_加油

开发API文档:https://docs.box3.codemao.cn/

加入代码岛3.0官方内测Q喵

官网:box3.codemao.cn

下面的二维码会扫出来什么呢?( =•ω•= )m

center_image


回复

上一页1 页 / 共 3下一页
Summer橘子喵Summer橘子喵

沙发

点赞0


评论


传奇无敌传奇无敌

16分钟还热乎()

点赞0


评论


ZNS_哪吒ZNS_哪吒

我貌似可以抢板凳

点赞0


评论


害羞的独角蛛907害羞的独角蛛907

7小时前吉吉喵半夜发帖......

点赞0


评论


三尺五寸上仙三尺五寸上仙

???

点赞0


评论


我爱宇宙本人我爱宇宙本人

屑传奇一脸懵逼()

点赞0


评论


迷失冷光迷失冷光

怎么不做背包

点赞0


评论


该账号已被封禁该账号已被封禁

……为什么这个代码看起来比较鬼畜? 注意看第四个代码的第三行的注释 //玩家选中dirt 你™这明明是石头 你™指石为土啊你

点赞1


评论


编程猫学员20200829编程猫学员20200829

已采纳

点赞0


评论


SKQASKQA

前排~~

点赞0


评论


逍遥WYC逍遥WYC

前排!

点赞0


评论


async_functionasync_function

前排

点赞0


评论


T不减不等于T不减不等于

学废了学废了(bushi)

点赞0


评论


战神_小火熊_光影轮回战神_小火熊_光影轮回

前排!!!

点赞0


评论


白泽家族族长白泽家族族长

沙发

点赞0


评论


DTS级段5DTS级段5

沙发

点赞0


评论


你好2050_反防沉迷_反岛三出图形化你好2050_反防沉迷_反岛三出图形化

前排

点赞0


评论


一勺小汤_纪念号一勺小汤_纪念号

前排

点赞0


评论


明亮星界_rebirth明亮星界_rebirth

顺便找人:https://box3.codemao.cn/e/aac525ee947c88622214

点赞0


评论


billy司马白鹿billy司马白鹿

安心用自带那个面板不香吗???

点赞1


评论


面具狐狸云绾兮面具狐狸云绾兮

吉吉喵,下次大更新预计是什么时候,方便透露一下吗(

点赞0


评论


NeutrophilsNotNeutrophilsNot

dd

点赞0


评论


卫道士32_32*2没了卫道士32_32*2没了

呵呵

var y, x, z; for (y = 0; y <= 8; y++) { for (x = 1; x < 32; x++) { for (z = 1; z < 32; z++) { if (y > 0 && y < 8) { voxels.setVoxel(x,y,z,(voxels.id("air"))); } } } }

点赞0


评论


独立的扎古OST6独立的扎古OST6

传奇:啊草,起床代码有点泄露了()()

点赞0


评论


霸道的疾风雀3KNp霸道的疾风雀3KNp

怎么判断焦点位置的方块啊????

点赞0


评论


难起的名字难起的名字

传奇:吉吉喵你(情绪暴躁)。。。(doge)()()

点赞0


评论


幻想一笑而过幻想一笑而过

https://shequ.codemao.cn/community/368849

速建教程

点赞0


评论


中國萬歲_青铁迷中國萬歲_青铁迷

qq

点赞0


评论


最近在弄mc的破坏方块代码。。。咋办啊???

点赞0


评论


话说那啥开启伤害的代码是不灵了吗?显示any???

点赞0


评论