GuiTexture (Touch button) unfollow camera!

I’ve created a Gui Texture (button) that will allow the object to enter a door (by touching it on the android device and spawn at another door, the thing is i want that gui texture (button) to stay on the door and not follow the CAMERA around is that possible?

Thanks!

using UnityEngine;
using System.Collections;

public class Teleport : MonoBehaviour {

public Transform Characters;
Animator anim;

public Transform GroundCheck;
public Transform playerCheck;
float playerRadius = 0.5f;
public LayerMask whatIsPlayer;
public Transform Teleport2;
bool Teleported1 = false;
public GUITexture guiEnterDoor;
private bool EnterDoor = false;
// Use this for initialization
void Start () {

	anim = GetComponent<Animator>();

}

IEnumerator Wait() {
	
	Debug.Log("Before Waiting 1 seconds");
	yield return new WaitForSeconds (1);
	Characters.transform.position = Teleport2.transform.position;
	anim.SetBool ("EnteringDoor", false);
	Debug.Log("After Waiting 1 Seconds");
}

void Update() {
			if (Input.touchCount > 0) {
					// Get the touch info
					Touch t = Input.GetTouch (0);
		
					// Did the touch action just begin?
					if (t.phase == TouchPhase.Began) {

							// Are we touching the Door?
							if (guiEnterDoor.HitTest (t.position, Camera.main)) {
									Debug.Log ("Touching EnterDoor");
									EnterDoor = true;
									
									}
				
							}
		// Did the touch end?
		if (t.phase == TouchPhase.Ended)
		{
			
			// Stop all movement
			EnterDoor = false;
			rigidbody2D.velocity = Vector2.zero;
		}
					}
			}
	

// Update is called once per frame
void FixedUpdate () {

	
	Teleported1 = Physics2D.OverlapCircle (GroundCheck.position, playerRadius, whatIsPlayer);
	anim.SetBool ("DOOR1", Teleported1);

if (EnterDoor)
{

		if (Teleported1) {
			StartCoroutine(Wait ());
		}

}

}
}

Ok, I write simple example(write on CSharp) and this script must be attach at object “door”:

 public Texture2D myTexture = null; //reference for your texture for GuiTexture
 private GUITexture myGUITex = null;

 void Start() {
  //Create programmical guiTexture, which parent is our door
  GameObject gmo = new GameObject(); //create new object
  gmo.name = "myTexForDoor";
  gmo.parent = this.transform; //parenting our object
  //Position with GUITexture on world must be (0, 0, 0)
  gmo.transform.position = new Vector3(0, 0, 0);
  gmo.ltransform.localScale = new Vector(0, 0, 1);
  myGUITex = gmo.AddComponent<GUITexture>(); //create GUITexture
  myGUITex.texture = myTexture;
  //For example, our GUITexture have size 50x50
  myGUITex.pixelInset = new Rect(-100, -100, 50, 50);
 }

 void Update() {
  //Simple check for touch - only first touch
  //But remember, touch not work in Editor, only real device or emulator android AVD
  if (Input.touchCount > 0) {
   if (Input.GetTouch(0).phase == TouchPhase.Began) {
    if (myGUIText.HitTest(Input.GetTouch(0).position) {
     //Open or close your door
    }
   }
  }
 }

 void LateUpdate() {
  //Show our texture depending on position of the main camera
  //See pivot point of door
  Vector3 pos = Camera.main.WorldToScreenPoint(this.transform);
  //Set position, because door maybe open/close - change position
  myGUITex.transform.position = new Vector3(0, 0, 0);
  //Set right position on screen
  myGUITex.pixelInset = new Rect(pos.x, pos.y, 50, 50);
 }

It’s common example. I hope that it will help you.