强子 发表于 2013-3-5 18:53

实现网络中游戏对象的血量值的同步代码

1.把NetworkView附加到GameObject(游戏物体),假设GameObject的名为Plyaer

2.把下面代码命名为HealthText附加到Player上.var currentHealth : int;
var healthText : GameObject;

function Update () {
    healthText.GetComponent(TextMesh).text=currentHealth.ToString();
    if(Input.GetButtonDown("Fire1") && networkView.isMine){
      if(currentHealth>0)
      {
            currentHealth-=10;
      }
      else{
            currentHealth=200;
      }
      
    }
}


function OnSerializeNetworkView(stream : BitStream,info : NetworkMessageInfo){//用来在一个由网络视图监控的脚本中自定义变量同步
    var health : int =0;
    if(stream.isWriting){//比特流是否正在被写入
      health=currentHealth;
      stream.Serialize(health);//序列化不同类型的变量
    } else {
      stream.Serialize(health);
      currentHealth=health;
    }
}3.然后拖动HealthText.js到NetworkView上的Observed上即可.

hdgq123 发表于 2017-4-5 21:30

好帖就是要顶

hdgq123 发表于 2017-4-5 21:39

真心顶

胡桃夹子 发表于 2017-4-5 20:58

说的非常好

Asuka_ 发表于 2017-4-5 21:22

很好哦

小烈 发表于 2017-4-5 21:47

不错不错

vv3918 发表于 2017-4-15 07:03

好帖就是要顶

vv3918 发表于 2017-4-15 07:00

顶顶多好

劲乐团^^邪神.^ 发表于 2017-4-15 07:11

说的非常好

elvis2003 发表于 2017-4-15 07:05

不错不错
页: [1] 2 3 4 5 6 7 8
查看完整版本: 实现网络中游戏对象的血量值的同步代码