x


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)

more ▼

asked Oct 26 '10 at 10:58 PM

Oninji gravatar image

Oninji
332 43 47 50

(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

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.

more ▼

answered Oct 26 '10 at 11:23 PM

DaveA gravatar image

DaveA
26.8k 153 171 257

Tried, doesn't work.

The meteor spawn with his script, the variable just doesn't change as it should.

Oct 26 '10 at 11:27 PM Oninji

How about trying "var Meteor : GameObject = Instantiate(MeteroPrefab,....)" instead?

Oct 27 '10 at 01:40 AM zannghast
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x5273
x2172
x1725
x850

asked: Oct 26 '10 at 10:58 PM

Seen: 2720 times

Last Updated: Oct 26 '10 at 10:58 PM