- Home /
Follow An Object Until Key Press
Hey guys,
I'm trying to figure out how to make an object follow another object, but only until a button is pressed. Here is what I've got so far:
public GameObject target;
void Update () {
Vector3 pos = transform.position;
target = GameObject.FindGameObjectWithTag("DS_Holder");
pos.x = target.transform.position.x;
transform.position = pos;
}
And though this works, I want the object to stop following "target" after a key is pressed.
Any ideas?
Answer by YoungDeveloper · Jul 19, 2014 at 08:06 AM
Using FingObject every frame is very inefficient, consider caching gameobject in start or finding it other way.
Here's an example. This is actual "follow", i you prefer your mentioned way or if it's necessary for you, just change the follow code part.
private bool follow = false;
private GameObject target;
public float moveSpeed = 3f;
private void Start(){
target = GameObject.FindGameObjectWithTag("DS_Holder");
}
private void Update(){
if (Input.GetKeyDown(KeyCode.I)){
follow != follow;
}
//Follow
if(follow){
transform.LookAt(target);
transform.position += transform.forward * moveSpeed * Time.deltaTime;
}
//Dont follow
else{
}
}
Thanks, your code works!
Also, thanks for letting me know about moving FindObject to my start function, my game runs so much faster now!
Answer by yagizpoyraz · Jul 19, 2014 at 08:02 AM
public GameObject target;
bool keyPressed= false;
void Update () {
if(!keyPressed){
Vector3 pos = transform.position;
target = GameObject.FindGameObjectWithTag("DS_Holder");
pos.x = target.transform.position.x;
transform.position = pos;
}
if (Input.GetKeyDown ("space"))
{
keyPressed=true;
}
}
In this code i make the object stop when you pressed space. You can change the target in that if block too. Hope it helped @slader155
Your answer
Follow this Question
Related Questions
Camera rotation around player while following. 6 Answers
Issue with enemies going towards player 2 Answers
How to return to position if key is not pressed? 1 Answer
Bunny Hop control 1 Answer