一、前言
上一篇已经实现了射击同步,这一篇实现射击时伤害也可以进行同步
二、击伤同步
新建脚本,使用接口方式实现
public interface IDamager
{
void TakeDamage(int _damage);
}
新建脚本,继承IDamager:受到伤害后,健康值会减少
注意:这里需要使用RPC(从客户端A发送一条数据给服务器,也就是rpc调用这个方法,发送给服务器之后,服务器会给所有的客户端均显现这个方法)通过bool的IsDeath判断如果生命值小于0时,则死亡,同时三秒钟后复活
Remote Procedure Calls (RPC)使可以调用"networked GameObjects"上的方法,对由用户输入等触发的不常用动作很有用。
一个RPC会被在同房间里的每个玩家在相同的游戏对象上被执行,所以可以容易地触发整个场景效果就像可以修改某些GameObject。
作为RPC被调用的方法必须在一个带PhotonView组件的游戏对象上。该方法自身必须要被[PunRPC]属性标记。
[PunRPC]
private void RPC_TakeDamage(int