- Home /
Change a Script Var of an Instantiated Object
Hellow,
I want to change a variable of the script inside an instantiated object... after it been instantiated, how do I achieve this?
Here is the script.
var MeteorPrefab : GameObject; var STarget : GameObject;
function Update () {
if(Input.GetButtonDown("mspawn")){
var Meteor = Instantiate(MeteorPrefab, transform.position, transform.rotation);
Meteor.GetComponent(MeteorMove).target = STarget; //here is the problem
}
}
The problem it return, is that the object is Unexistant and so the script is too.
Here are the two errors.
InvalidCastException: Cannot cast from source type to destination type. (wrapper dynamic-method) MeteorMove.MeteorMove$target= (object,object[]) Boo.Lang.Runtime.RuntimeServices.Dispatch (object,string,System.Type[],object[],Boo.Lang.Runtime.DynamicDispatching.DispatcherCache/DispatcherFactory)
Boo.Lang.Runtime.RuntimeServices.Dispatch (object,string,object[],Boo.Lang.Runtime.DynamicDispatching.DispatcherCache/DispatcherFactory)
Boo.Lang.Runtime.RuntimeServices.SetProperty (object,string,object) MeteorSpawning.Update () (at Assets/Scripts/Ingredients/Meteor/MeteorSpawning.js:7)
and
UnassignedReferenceException: The variable target of 'MeteorMove' has not been assigned. You probably need to assign the target variable of the MeteorMove script in the inspector. UnityEngine.Transform.get_position () (at E:/BuildAgent/work/68355d6e5d19d587/Runtime/Export/Generated/BaseClass.cs:768) MeteorMove.Update () (at Assets/Scripts/Ingredients/Meteor/MeteorMove.js:18)
Answer by DaveA · Oct 26, 2010 at 11:23 PM
For the first one, try this:
var Meteor : Object = Instantiate(MeteorPrefab,....
For the second one, make sure you have assigned your script to a game object, and on that game object, you have selected something for both MeteorPrefab and STarget in the Inspector pane.
Tried, doesn't work.
The meteor spawn with his script, the variable just doesn't change as it should.
How about trying "var $$anonymous$$eteor : GameObject = Instantiate($$anonymous$$eteroPrefab,....)" ins$$anonymous$$d?
Your answer
Follow this Question
Related Questions
How to set/get/change variables for newly spawned gameObjects? 1 Answer
Combine objects instantiated at runtime 2 Answers
Split a cube into several pieces? 1 Answer
Get transform of an instantiated GameObject(clone) 1 Answer
AddComponent() causes a "trying to create a MonoBehaviour using the 'new' keyword" warning 2 Answers