- Home /
script error
i have this script:
var sourceObject : GameObject;
var materials : Material;
var spawn1 : Transform;
var spawn2 : Transform;
var proiettile : GameObject;
function Start () {
}
function Update () {
var hit : RaycastHit;
if (Physics.Raycast (Camera.main.transform.position, Camera.main.transform.forward, hit)) {
if ( hit.collider.gameObject.tag == "enemy" ){
materials.color = Color.green;
Debug.Log("colpito");
var clone : GameObject;
clone = Instantiate( proiettile, spawn1.transform.position, transform.rotation );
clone.GetComponent("proiettile").target = hit.collider;
clone = Instantiate( proiettile, spawn2.transform.position, transform.rotation );
}
else { materials.color = Color.red;}
}
}
but i have this error : Assets/New Folder/provaray.js(22,50): BCE0019: 'target' is not a member of 'UnityEngine.Component'.
the proiectile script is :
var velocita : float = 100;
var danno : float = 0;
private var target : Transform;
function Start () {
}
function Update () {
transform.position = Vector3.MoveTowards(transform.position, target.position, Time.deltaTime * velocita);
}
Answer by robertbu · May 07, 2014 at 08:45 PM
To fixes. First on line 22, you need to use the non-string version of GetComponent.
clone.GetComponent(proiettile).target = hit.collider;
Second, 'target' needs to be public:
var target : Transform;
or:
public var target : Transform;
(variables are public by default in Unityscript).
The issue with the GetComponent() is that, since you are passing a string, the compiler does not know the type of the object, so it defaults to the base type 'Component'. And the Component class does not have a 'target' variable. By passing the type, the compiler can figure things out.
ok I did as you said but now the error is : Assets/New Folder/provaray.js(22,35): BCE0023: No appropriate version of 'UnityEngine.GameObject.GetComponent' for the argument list '(UnityEngine.GameObject)' was found.
Your answer
Follow this Question
Related Questions
Unity Gui lable problem with showing js var using C# 2 Answers
send message object variable 1 Answer
How do I change the text of a gui image text 1 Answer
Cant acces function in other script 2 Answers
What's wrong with eval()? 1 Answer