私は、プレハブフォルダからプレハブを選択してゲームに追加し、必要に応じてそのプレハブのプロパティを設定できるようにする関数をC#で作成しようとしています。機能私が今持っている:Unity2D C# - 万能プレハブインスタンシエーターを作成するには?
public void loadObject(string objReference, float xPos, float yPos){
Instantiate(Resources.Load<GameObject>(objReference),xPos,yPos);
//I want access to the prefabs properties
}
私も関数を呼び出すと、私のクラスのどこからでもプレハブをロードすることができます:それはそれは、私が関数に渡しただけで文字列
loadObject ("Prefab/BeamPlatform", this.transform.position.x, this.transform.position.y);
たとき
public void loadObject(string objReference){
Instantiate(Resources.Load<GameObject>(objReference));
}
//
loadObject ("Prefab/BeamPlatform");
をしかし、すぐに、私はプレハブの位置を制御しようとして、私はエラーのカップルを取得:働い
私は引数を間違って渡していますか?私は間違って何をしていますか?これは実際に可能ですか?私はAS3でこれを行うために使用することだし、それはように簡単だった:私はクラスレベルの変数を設定し、インスペクタでその上にプレハブをドラッグ避けるためにしようとしている
public function loadObject(objClass, xPos:Number, yPos:Number){
var obj = new objClass();
obj.x = xPos;
obj.y = yPos;
obj.otherProperty = ;
}
。私はそれが私の選択肢を制限するように感じますが、私は何かアドバイスを聞いています。
Here's what it looks like when it works with just a string passed