玩家碰到名为“lava02”的方块后移到出生点
材料准备
场景配置
lava02(左) 出生点(右)
出生点配置
标红的名字,名字随便设置,但是必须要记住,我们在后面有用
我就默认设置为出生点-4
代码编写阶段
模型绑定
const spawnpoint = world.querySelector("#出生点-4");//查找到名为出生点-4的模型
方块碰撞绑定
绑定里面有移动方式,但移动方式有两种
第一种(直接让玩家前往)
world.onVoxelContact(({entity})=>{
entity.position.copy(spawnpoint.position)//调用玩家移动函数
})
第二种(让玩家死亡后重生前往)
world.onVoxelContact(({entity})=>{
entity.player.hurt(100)//让玩家受到伤害
})
world.onDie(({entity})=>{
entity.player.forceRespawn()//让玩家重生
})
world.onPlayerJoin(({entity})=>{
entity.player.enableDamage = true;//允许玩家受到伤害
entity.player.spawnPoint.set(spawnpoint.position)//设置玩家的重生点
})
绑定完就可以开始运行了
先让玩家碰到lava02这是,玩家就会来到spawnpoint的位置了
总结
大家应该开到我在写代码的时候写了一些你应该看不懂,我先就位大家解答
查找格式:world.querySelector("#模型名称")
const 名称:这里定义了一个常量,box3里面说明模型必须要用常量来保存
world.onVoxelContact(({entity,other,或者其他能量})=>{})
//entity碰到实体的第一个模型
//other碰到实体的第二个模型
entity.position.copy(坐标)
//这是实体移动函数
//坐标可以是其他模型的坐标,或者是直接填写坐标
new Box3Vectors(地图中的坐标)
entity.position.copy(new Box3Vectors(地图中的坐标))
world.onDie(({entity})=>{})//玩家受到之后会自动调用的函数
world.onPlayerJoin(({entity})=>{})//玩家进入此游戏后会自动调用的函数,也可以把它当做是程序运行开始之后就要调用的函数
entity.player.enableDamage = true;//这里是允许玩家受到伤害,否则你对玩家的血量进行任何调整玩家的血量就是不会有变化
entity.player.spawnPoint.set(坐标) 等同于 entity.player.spawnPoint = 坐标
今天就先到这里了,如果你觉得我做得好的话,那就请给我点一个关注,点一个赞,我将会继续制作关于此类的文章。