项目实训- 基于unity的2D多人乱斗闯关游戏设计与开发(十3、FPS多人化——击伤同步)

本文档详细介绍了如何在Unity游戏引擎中实现2D多人乱斗游戏的击伤同步和死亡后的视角处理。通过新建脚本并使用RPC接口,确保了伤害同步,并在生命值小于0时触发死亡效果,同时设置了3秒后复活的机制。此外,还介绍了死亡后切换到全局相机视角以保持场景观察。
摘要由CSDN通过智能技术生成

一、前言

上一篇已经实现了射击同步,这一篇实现射击时伤害也可以进行同步

二、击伤同步

新建脚本,使用接口方式实现

    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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值