Question by 
               martlost · Oct 08, 2015 at 09:56 PM · 
                unity 5movementgameobjecttransform  
              
 
              Object cordinates changing when game start
Guys I have a problem with my code. For example a object stay at 0,2,0(or something else) cordinates. and I move the script into the object. When game playing object go to 0,0,0 cordinates. I dont want to change the cordinates of my object when game start. How can i fix it. Here is my code
      using UnityEngine;
      using System.Collections;
      using UnityEngine.UI;
       public class MovementRD : MonoBehaviour {
 
       public Button btnRight;
      public Button btnDown;
 
     public Text stepText;
    //public GUIText stepText;
   public static int step;
    float lerpTime;
   float currentLerpTime;
   float perc = 1;
 
    Vector3 startPos;
    Vector3 endPos;
 
 
     void Start()
     {
     btnDown = btnDown.GetComponent<Button> ();
     btnRight = btnRight.GetComponent<Button> ();
 
 
     //transform.rotation = Quaternion.Euler(0,0,0);
 
     }
 
 
     void Update () 
     {
 
 
     if ( Input.GetButtonDown("down")||Input.GetButtonDown("right"))
     { 
     if(perc == 1)
     {
     lerpTime =1;
     currentLerpTime=0;
 
     }
 
     }
 
     if (Input.GetButtonDown ("right") && gameObject.transform.position == endPos) {
     RightAction();
     }
 
 
 
 
 
 
     if (Input.GetButtonDown ("down") && gameObject.transform.position == endPos) {
     DownAction();
 
 
     }
 
 
     currentLerpTime += Time.deltaTime * 5.5F;
     perc = currentLerpTime / lerpTime;
     gameObject.transform.position = Vector3.Lerp (startPos, endPos, perc);
 
 
 
 
     }
 
     /*
     void OnCollisionEnter(Collision coll) {
     if (coll.gameObject.tag == "dom") {
 
 
     GetComponent<Rigidbody> ().constraints = RigidbodyConstraints.None;
 
 
 
     }
 
 
     }
    */
     public void DownAction()
     {
     stepText.text = "STEP: " + step;
     startPos = gameObject.transform.position;
 
     endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z -1);
 
     step++;
     if (gameObject.transform.rotation == Quaternion.Euler (90,0,0))
     {
     transform.rotation = Quaternion.Euler (0,0,0);
 
     }
     else if(gameObject.transform.rotation == Quaternion.Euler (0,0,0))
 
     {
     transform.rotation = Quaternion.Euler (90,0,0);
 
 
     }
 
     }
 
     public void UpAction()
     {
     stepText.text = "STEP: " + step;
     startPos = gameObject.transform.position;
 
     endPos = new Vector3(transform.position.x, transform.position.y, transform.position.z +1);
 
     step++;
     if (gameObject.transform.rotation == Quaternion.Euler (90,0,0))
     {
     transform.rotation = Quaternion.Euler (0,0,0);
 
     }
     else if(gameObject.transform.rotation == Quaternion.Euler (0,0,0))
 
     {
     transform.rotation = Quaternion.Euler (90,0,0);
 
     }
 
 
     }
 
     public void LeftAction()
     {
 
     stepText.text = "STEP: " + step;
     startPos = gameObject.transform.position;
    endPos = new Vector3(transform.position.x - 1, transform.position.y, transform.position.z);
 
     step++;
 
     if (gameObject.transform.rotation == Quaternion.Euler (0,0,90))
     {
     transform.rotation = Quaternion.Euler (0,0,0);
 
     }
     else if(gameObject.transform.rotation == Quaternion.Euler (0,0,0))
 
     {
     transform.rotation = Quaternion.Euler (0,0,90);
 
     }
     }
 
     public void RightAction()
 
     {
 
     stepText.text = "STEP: " + step;
     startPos = gameObject.transform.position;
 
     endPos = new Vector3(transform.position.x + 1, transform.position.y, transform.position.z);
 
     step++;
     if (gameObject.transform.rotation == Quaternion.Euler (0,0,90))
     {
     transform.rotation = Quaternion.Euler (0,0,0);
 
 
     }
     else if(gameObject.transform.rotation == Quaternion.Euler (0,0,0))
 
     {
     transform.rotation = Quaternion.Euler (0,0,90);
 
     }
 
 
     } 
 
 
 
    }
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by Denvery · Oct 09, 2015 at 08:52 AM
Hello!
As I can see you have line #69:
 gameObject.transform.position = Vector3.Lerp (startPos, endPos, perc);
This line is performed every Update; at start of your script startPos == (0,0,0) and endPos == (0,0,0). So at the first Update() your object moves to (0,0,0) due to this line.
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                