猫史档案馆


【可乐Box3干货(一)】教你如何做一台超实用的电梯!(附完整代码)

用户:爱探险的可乐呀爱探险的可乐呀查看:6 回复:7 评论:6 创建时间:2020-11-30T19:36:10


诶嘿

大家好

我是从来不喝可乐的可乐!

今天我给大家带来了Box3的干货——

一台超实用的电梯!

emotion_编程猫_嗨起来

废话不多说

上视频!

视频链接:

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

完整代码附上:

const door = world.querySelector('.door');
const door2 = world.querySelector('.door_2');
const carpet = world.querySelector('.carpet');

var interactNum = 0;
var interactNum2 = 0;

door.enableInteract = true;
door.interactRadius = 3;
door.interactHint = '门-1楼';
door2.enableInteract = true;
door2.interactRadius = 3;
door2.interactHint = '门-2楼';

function toFloor(floor) {
    var nowFloor;
    world.querySelectorAll('player').forEach(async (e) => {
        if (e.position['y'] === 10.16796875) {
            nowFloor = 1;
        } else if (e.position['y'] === 16.26171875) {
            nowFloor = 2;
        }
        if (floor === 2 && nowFloor === 1) {
            for (var i = 0; i < 60; i++) {
                carpet.position['y'] += 0.1;
                await sleep(70);
            }
        } else if (floor === 1 && nowFloor === 2) {
            for (var j = 0; j < 60; j++) {
                carpet.position['y'] -= 0.1;
                await sleep(70);
            }
        }
    });
}

async function open() {
    for (var i = 0; i < 20; i++) {
        door.position['x'] += 0.1;
        await sleep(70);
    }
}

async function open_2() {
    for (var i = 0; i < 20; i++) {
        door2.position['x'] += 0.1;
        await sleep(70);
    }
}

async function close() {
    for (var i = 0; i < 20; i++) {
        door.position['x'] -= 0.1;
        await sleep(70);
    }
}

async function close_2() {
    for (var i = 0; i < 20; i++) {
        door2.position['x'] -= 0.1;
        await sleep(70);
    }
}

door.onInteract(() => {
    interactNum += 1;
    if (interactNum === 1) {
        open();
    } else if (interactNum === 2) {
        close();
        interactNum = 0;
    }
});

door2.onInteract(() => {
    interactNum2 += 1;
    if (interactNum2 === 1) {
        open_2();
    } else if (interactNum2 === 2) {
        close_2();
        interactNum2 = 0;
    }
});

world.onPress(async ({ entity, button }) => {
    if (button === Box3ButtonType.ACTION1) {
    const floor = await entity.player.dialog({
        type: Box3DialogType.SELECT,
        title: '电梯',
        titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
        content: '你想去哪一层?',
        options: ['1', '2'],
    });
    switch (floor.index) {
        case 0:
            toFloor(1);
            break;
        case 1:
            toFloor(2);
            break;
        }
    }
});

world.onPlayerJoin(({ entity }) => {
    entity.position.set(63, 8, 55);
});

你学废(会)了吗?

祝大家食用愉快~emotion_嘻嘻


回复

上一页1 页 / 共 1下一页
学霸8号学霸8号

学废了

点赞0


评论


爱探险的可乐呀爱探险的可乐呀

Hey大家好

如果有什么问题或建议可以评论哦

下一期会出音乐视频~

点赞1


评论


JSR代码喵JSR代码喵

                              

点赞0


评论


淳朴的流星猫ofTt淳朴的流星猫ofTt

  

点赞0


评论


学霸8号学霸8号

能发以下没有门,电梯按E键互动,并且电梯到达的Y坐标是14的代码吗?

点赞0


评论


肥宅快乐水hhh肥宅快乐水hhh

可乐,我的圣诞地图也想加一个你这个很有创意的,但出bug了,我也不知道在吗修复,请你来https://box3.codemao.cn/e/b6427533aa118633e6ea

点赞0


评论


究极石头究极石头

center_image

点赞0


评论