x


The name '' does not exist in the current context

So what I'm trying to do is call a function from another script.

public class Manager  
{
         // Use this for initialization
     void Start()
        {
        SetPlayerPosition();
    }
}

okay that's the Manager Sample , here the other

public class Player : MonoBehaviour 
{


    // Use this to set Player Position
     public void SetPlayerPosition()
     {
      transform.position = new Vector3(150, 0, 5);
     }

}

I know this might be a simple question but this is bugging me since Ive done it before, I might even answer this myself after further research but just to post in case someone has same problem in future.

Note: The error is on the Manager.cs "The name 'SetPlayerPosition' does not exist in the current context"

more ▼

asked Jul 08, 2013 at 08:37 PM

vcjr12 gravatar image

vcjr12
111 4 6 6

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

2 answers: sort voted first

I tried this and it worked thanks for your help.

 void Start()
{
        GameObject player = GameObject.FindGameObjectWithTag("Player");
        player.GetComponent<Player>().SetPlayerPosition();
}
more ▼

answered Jul 08, 2013 at 09:12 PM

vcjr12 gravatar image

vcjr12
111 4 6 6

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

You need to create a reference to a specific instance of the Player script (i.e. to the game object it is attached to). The multiple ways to do this are covered here:

http://docs.unity3d.com/Documentation/ScriptReference/index.Accessing_Other_Game_Objects.html

Then you will use a variable pointing to that instance of the script to make the access. Something like:

playerScript.SetPlayerPosition();

more ▼

answered Jul 08, 2013 at 08:50 PM

robertbu gravatar image

robertbu
97.9k 18 32 91

i tried this Player.SetPlayerPosition playerStart = new Player.SetPlayerPosition(); but then I get Is a method bu tis being used as a type. But thanks Ill take a look

Jul 08, 2013 at 09:00 PM vcjr12

Read the link. You don't use new() with Monobehaviour. You need to either drag and drop in the Inspector, or you can use GameObject.Find() and GetComponent().

Jul 08, 2013 at 09:11 PM robertbu
(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:

x585
x246
x114
x2

asked: Jul 08, 2013 at 08:37 PM

Seen: 2452 times

Last Updated: Jul 08, 2013 at 09:13 PM