ええ、私はGameMaker4が素晴らしい方法を持っていました。あなたがアクセスできる任意のスクリプトの先頭に 'global.MyVariable1'それは他のスクリプトから 'global.MyVariable1'を入れるだけです。
Unityでこの機能を利用するには、簡単な方法で 'MainController'オブジェクトを作成し、ゲームの非常に最初のシーンに入れてください。そのオブジェクトにはDES NOT DESTROYスクリプトを入れてください。変数、ゲームシーンの変更、保存/読み込みなどがあります。破壊されていないので、何らかのシーンで変数を保持します。
これにアクセスするには、GameObject.GetComponent関数を使用します。だから、ゲームオブジェクトにあるスクリプトの間でデータを渡す必要があります。他の人は、大きな、マルチクラスの、複雑なゲーム状態システムのような不具合を使用しますが、デバッグ/アップデートするのは難しいです。 ゲームの構造:
:
を。
OnMouseEnter()
、
OnMouseOver()
と
OnMouseExit()
:
//put this on object to click on
using UnityEngine;
using System.Collections;
public class MouseClick : MonoBehaviour
{
public MainController mcont;//reference to the MainController Object
void Start()
{
mcont = GetComponent<MainController>();
}
//now to access any MainController var's use 'mcont.VARIABLE'
void OnMouseDown()
{
mcont.ObjClicked += 1;
}
}
は、他の組み込みのユニティマウス機能があります。
他の男が「まっすぐ答えていない」と言っていたことは分かりません。私はコンパイラを使用することに慣れていますが、ドラッグ&ドロップUnityセットアップが本当に好きです。スクリプトからプレハブをインスタンス化するのも良い点です。