猫史档案馆


【Box3科普贴】玩家观战视角怎么做?

用户:Alex79Alex79查看:8 回复:6 评论:8 创建时间:2020-08-11T20:32:09


我们在玩一些射击游戏时,玩家喵后可能视角会切换到队友或者敌方玩家的视角观战,而这个功能可不可以在Box3中实现呢?答案是肯定的。

首先,查看API,在玩家里,有一个方法叫cameraEntity,它的作用是设置在第一人称视角(FPS)或第三人称跟随视角(FOLLOW)下,玩家视角所跟随的实体

知道了这个,会一点代码的人就应该知道怎么写了,还不知道怎么办的继续往下看。

world.querySelectorAll('player').forEach((x)=>{if (x.player.name=='要被跟随视角的玩家的名字'){world.querySelectorAll("player")[要跟随视角的玩家的下标].player.cameraEntity = x;}});

 

通过这个方法,你就能看到效果。但是这个没有绑定事件

咱们的目的是让玩家喵亡时跟随杀喵他的那个玩家的视角观战,所以,完整代码应该这样写

world.onDie(({entity, attacker}) => { //当玩家喵亡时所触发的事件
      entity.player.cameraEntity = attacker; //把杀喵玩家的玩家的视角赋给被杀喵玩家的视角
});

这样就OK了是不是很简单呢?

顶帖顶帖顶帖顶帖顶帖


回复

上一页1 页 / 共 1下一页
1232RvE1232RvE

sofa

点赞0


评论


1232RvE1232RvE

下标是啥

点赞0


评论


汪宰牛奶汪宰牛奶

地板

点赞0


评论


1232RvE1232RvE

world.onChat(({entity,message})=>{
    str=message;
    world.querySelectorAll('player').forEach((x)=>{if (x.player.name==message){
    world.querySelectorAll("player").forEach((e)=>{if(e.player.name==entity.player.name){e.player.cameraEntity = x;}
    })
    }
    });
})
//用这个,输入人名就可以

点赞0


评论


指令者指令者

emotion_编程猫_点赞

点赞0


评论


凌_墨水凌_墨水

看着自己仇人的视角……捂脸

点赞0


评论