用户:
黑客熊猫查看:20 回复:4 评论:20 创建时间:2023-01-26T17:53:43
话不多说,我们商整体
我们先看看API里面的world有哪些
我们这次也不深讲就讲简单常用的
如下:
world.onPlayerJoin(({}))//检测玩家加入地图
world.onPlayerLeave(({}))//检测玩家离开地图
world.say()//世界报幕
world.onChat(({}))//发消息时触发
world.querySelector()//搜索满足条件的第一个实体
world.querySelectorAll()//搜索满足条件的所有实体
我们一个一个的教学
好,我们先来world.onPlayerJoin这个是检测玩家进入地图的,从玩家进入地图以后一直生效
一般用于世界报幕啥的

上干货
world.onPlayerJoin(({})=>{
world.say('有人进入了地图')//报幕
})
我们应用到了world.say
PS:world.say()是报幕的,world.onPlayerJoin是检测玩家进入地图的
world.say()不仅可以报幕字符串,还可以报幕其他的比如玩家的名字、攻击者啥的(以后会讲)
world.onPlayerJoin(({})=>{
world.say(`${entity.player.name}`)
})
不过这样是会报错的


我们只要在这里加上entity就行了
你看就没现在就没事了
好,我们前两个都讲完了,我们继续
开始world.onChat,它经常应用于管喵的指令啥的,我们这也不讲太深,就简单的实现一个说飞行就飞行就功能
上干货
world.onChat(({message,entity})=>{//message是玩家发的消息
if(message === '飞行'){//如果发的消息是飞行(注意是三个等号,两个也可以)
entity.player.canFly = true//允许玩家飞行
}
})
entity.player.canFly我们这里也提一下

我们也是成功的飞行了

我们上面学了world.say所以我们可以再加一个报幕的功能让玩家知道他已经开启了飞行
world.onChat(({message,entity})=>{
if(message === '飞行'){
world.say(`${entity.player.name}打开了飞行模式`)//报幕玩家开启了飞行
entity.player.canFly = true
}
})
看成果

由于时间原因(我玩的时间要到了)
我把world.querySelector()和world.querySelectorAll()放在一起讲了
这两个通常是拿来搜索定义实体的,具体如下
const npc1 = world.querySelector('#实体名称')//这个实体名称的第一个实体
const npc2 = world.querySelectorAll('实体名称')//这个实体名称的所有模型,但是不常用
const npc3 = world.querySelectorAll('*')//这个地图的所有实体
这是官方的代码
const entities = world.querySelectorAll('*'); // 搜索世界中的全部实体
const players = world.querySelectorAll('player'); // 搜索地图中的全部玩家
const boxes = world.querySelectorAll('.盒子'); // 搜索带喵盒子"标签的全部实体
const redBoxes = world.querySelectorAll('.盒子 .红色'); // 搜索同时带喵盒子"、"红色"标签的全部实体
好了,正文结束
如有错误,欢迎指正
有不懂得同学或者有好的意见请在评论区进行反馈