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

Changing variables in another scriptが表示されるはずなので、これを実行する必要があります。

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 に答える