unity3d network教程我给大家介绍一个OnNetworkInstantiate函数,当一个物体使用Network.Instantiate已经网络实例化,在该物体上调用这个函数。这个对于禁用或启用一个已经实例化的物体组件来说是非常有用的,它们的行为取决与它们是在本地还是在远端。注意:在NetworkMessageInfo里的networkView属性不能在OnNetworkInstantiate里使用。只有OnNetworkInstantiate是不够的,应该还要一个是不是本地的判断即NetworkView.isMine是boolean类型的。Unity3D教程手册。下面看看代码你就明白了:

注:1.假如我们的移动脚本是move.js.

2.该脚本一定要绑定在要Network.Instantiate的对象上,我们这是预制的cube。

 
01
<span style=“color:#352f28;”></span><pre name=“code” class=“java”>var thisName:String=“playername”;
02
 
03
function OnNetworkInstantiate(msg:NetworkMessageInfo){
04
 
05
if(networkView.isMine){   //如果是本地,即改客户端的游戏对象
06
 
07
name=“player”;
08
 
09
}
10
 
11
else{    //如果是其他客户端的游戏对象
12
 
13
thisName=“Remote”+Random.Range(1,10);
14
 
15
name += thisName;
16
 
17
GetComponent(move).enabled = false;
18
 
19
}
20
 
21
}</pre><br>
22
 
23
<br>
24
 
25
<pre></pre>
26
 
27
<br>
28
 
29
<p></p>
30
 
31
<span style=“font-family:Verdana,Geneva,sans-serif,宋体; line-height:20px”></span>