zu Beginn vorgestellt
Ein gutes Spiel erfordert eine gewisse Interaktion zwischen einigen Spielern nach der Kollision. Es wäre zu mühsam, wenn Sie immer den Modelldialog verwenden würden, um Interaktion zu erzeugen. Deshalb werde ich Ihnen von einer neuen Art der Interaktion erzählen, nämlich der Kollision .
Unterricht besuchen
Text
Bei der Kollisionsinteraktion gibt es zwei Interaktionsmethoden: 1. Blockinteraktion und 2. Modellinteraktion
Interaktion blockieren (Codevorlage)
world.onVoxelContact(({entity,voxel,x,y,z,force,axis,tick})=>{}) //开始碰撞会调用的函数
world.onVoxelSeparate(({entity,voxel,x,y,z,force,axis,tick})=>{})//结束碰撞会调用的函数
Vorbereitungsphase
Legen Sie zunächst einen Block mit dem Namen „Stein“ auf den Boden
Up-Code
Normaler Kollisionscode
world.onVoxelContact(({entity,voxel})=>{
const voxelName = voxels.name(voxel) //将方块赋值给常量voxelName,以方便我们调用或者指定玩家碰到的方块
if (voxelName === "stone"){ //判断实体踩到的方块是否为stone
entity.player.directMessage("你踩到了一个名为“stone”的方块") // 如果踩到了会触发的交互
}
})
Kollisionscode unter den Füßen erkennen
world.onVoxelContact(({entity,voxel,axis})=>{
const voxelName = voxels.name(voxel) //将方块赋值给常量voxelName,以方便我们调用或者指定玩家碰到的方块
if (voxelName === "stone" && axis === 1){ //判断实体踩到的方块是否为stone
entity.player.directMessage("你踩到了一个名为“stone”的方块") // 如果踩到了会触发的交互
}
})
Parameteransicht
Kollision beginnen
Kollision beenden
Entitätsinteraktion (Codevorlage)
world.onEntityContact(({entity,other,force,axis,tick})=>{})
world.onEntitySeparate(({entity,other,force,axis,tick})=>{})
Vorbereitungsphase
Up-Code
world.onEntityContact(({entity,other})=>{//entity一般指玩家碰到的实体,other一般指玩家
if (entity.id == "bb"){ //指定碰撞的模型
other.player.directMessage("蔡徐坤好帅")
}
})
Parameteransicht
Kollision beginnen
Kollision beenden
Abschluss
Das ist alles für diesen Kurs. Das Verlassen des Unterrichts ist vorbei.