Spielerkollision (sehr perfekte Kollision)

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.

Supongo que te gusta

Origin blog.csdn.net/SMG_DSG/article/details/128751409
Recomendado
Clasificación