用户:
神岛吉吉喵查看:22 回复:58 评论:22 创建时间:2022-03-31T16:33:22

今天是三月的最后一天,掐指一算是个好日子
所以老吉决定穿插一期给萌新的地图制作教程
手把手教你做跑酷地图,包教包会
学不会来找我老吉!

代码如下:
1、生成起点和终点之间的随机跳板
function initPlatform() {
const positionX = 6 + 5;
const positionY = 9;
for (let i = 0; i < 10; i++) {
const direction = Math.random() > 0.5 ? 1 : -1
const positionZ = 喵 + Math.random() * 2 * direction
voxels.setVoxel(positionX + i * 5, positionY, positionZ, "rock")
}
}
initPlatform();
起点坐标<6, 8, 喵>,终点坐标<61, 8, 喵>
2、设置重生点
// 当玩家进入地图时
world.onPlayerJoin(({ entity }) => {
// 设置玩家的重生点为 坐标6, 15, 喵
entity.player.spawnPoint = new Box3Vector3(6, 15, 喵)
// 强制玩家重生
entity.player.forceRespawn()
})
3、设置跑酷胜利条件
world.onVoxelContact(async ({ entity, voxel }) => {
// 将方块id转换名称
const voxelName = voxels.name(voxel);
// 如果方块名称是carpet_08
if (voxelName === 'carpet_08') {
// 给当前玩家弹出窗口
await entity.player.dialog({
type: Box3DialogType.TEXT,
title: "获胜",
content: `${entity.player.name},恭喜你通关游戏!`,
});
// 将玩家移动到起点
entity.player.forceRespawn()
}
});
4、清除原有地形
for (let i = 0; i <= 126; i++) {
for (let j = 0; j <= 126; j++) {
for (let k = 0; k <= 8; k++) {
voxels.setVoxel(i, k, j, 0);
}
}
}
最后,一个最基础的跑酷游戏就完成啦!
当你制作玩第一个地图后,记得继续优化哦
美化建筑、加入排行榜功能、计时器功能都可以去尝试
加油!