0

我正在制作一个多人游戏,并且我有一个附加到玩家的得分脚本,所以当那个玩家进入一个带有对撞机的球体时,它会在他的脚本中增加一个值。

对不起,如果这没有任何意义。

这是球体代码

function OnTriggerEnter(other : Collider){
Debug.Log("Trigger Entered");
renderer.enabled = false;
collider.isTrigger = false;
collider.enabled = false;
//yield WaitForSeconds ( Random.Range(1.0, 10.0));
yield WaitForSeconds (3);
renderer.enabled = true;
collider.isTrigger = true;
collider.enabled = true;
} 

这是播放器代码

var score:int = 0;
var opScore:int = 0;
var sphereSettingsInstance:sphereSettings;

if(sphereSettingsInstance.OnTriggerEnter()){
score++;

}



function OnGUI () {
if(networkView.isMine){
   GUI.Label (Rect (10, 10, 100, 20), "Your score is: " + score);
   GUI.Label (Rect (100, 100, 200, 20), "Opponents score is: " + opScore);
    }


}
4

1 回答 1

0

您应该看到正在另一个脚本中更改变量,因此您需要执行此操作

function OnTriggerEnter(other : Collider){
Debug.Log("Trigger Entered");
renderer.enabled = false;
collider.isTrigger = false;
collider.enabled = false;
//yield WaitForSeconds ( Random.Range(1.0, 10.0));
yield WaitForSeconds (3);
renderer.enabled = true;
collider.isTrigger = true;
collider.enabled = true;
var : GameObject player = GameObject.Find("player");
var : script scriptB = player.GetComponent("scriptB");
scriptB.variable++;
} 

但是你的计数器需要是一个变量

于 2013-01-25T03:29:09.063 回答