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)
How about trying "var Meteor : GameObject = Instantiate(MeteroPrefab,....)" instead?
– zannghast