- Home /
Access a variable from another script
I want to use the hit.point from the InputManager.cs as the target in Movement.cs.
So:
In InputManager.cs call the movePlayer function (which is in MovementManager.cs) with the hit.point information from InputManager.cs being used as the point the player moves to
InputManager.cs:
private void terClick(GameObject terrain)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if(Physics.Raycast(ray, out hit, 100))
{
if(hit.collider.gameObject.tag == "Terrain")
{
Debug.Log ("Terrain was clicked, point: " + hit.point);
Debug.DrawRay (ray.origin, ray.direction * 10, Color.yellow);
}
}
MovementManager.cs:
public void movePlayer()
{
//hit.point is being used as a target to move towards
iTween.MoveTo(gameObject,iTween.Hash("position",hit.Point,
"speed",4f,"orienttopath",true,
"easetype","linear","looktime",2f,"axis",
"y"));}
Answer by Althaen · Jun 19, 2013 at 11:02 PM
All I did was make clicking on the terrain in the InputManager use SendMessage to send the lasthit recorded from the NGUI raycast to movePlayer() in the MovementManager by using UICamera.lastHit.point as the target position.
Input:
using UnityEngine;
using System.Collections;
public class InputManager : MonoBehaviour {
public GameObject terrain;
private void Awake()
{
UIEventListener.Get(terrain).onClick += terClick;
}
public void terClick(GameObject terrain)
{
gameObject.SendMessage("movePlayer");
}
}
Movement:
using UnityEngine;
using System.Collections;
public class MovementManager : MonoBehaviour {
public void movePlayer()
{
iTween.MoveTo(gameObject,iTween.Hash("position",UICamera.lastHit.point,"speed",4f,"orienttopath",true,"easetype","linear","looktime",2f,"axis", "y"));
}
}
Your answer

Follow this Question
Related Questions
How to modify the base movement speed of the character in JS 1 Answer
Can you change Static Variable values from another script? 1 Answer
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Making a bubble level (not a game but work tool) 1 Answer
How to set a target position in Vector3.MoveTowards using a variable 2 Answers