- Home /
 
 
               Question by 
               Fred_Vicentin · Jul 26, 2013 at 07:18 PM · 
                itweenwaypoint  
              
 
              Move one waypoint on iTween
I have a way point with three points, point A, B and C, I want to move the Waipoint from A to B, then, when click on the button, walk B to C, I tried to add i++ but don't worked, take a look on my code. And thank you =).
 public Transform[] waypoints;
 public float m_speed;
 int i = 1;
 
   public void Update()
     {
       if (jogador == false && Input.GetKeyDown(KeyCode.A))
       {
          i++;
          iTween.MoveTo(player1,iTween.Hash("path",waypoints[i],"speed",m_speed,"easetype","linear"));    
       }
 
     }
 
              
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by robertbu · Jul 26, 2013 at 07:54 PM
Note, you are passing in a Transform, but you are trying to use it like a list of waypoints. In addition you have the problem that if you hit the 'A' key during the time 'player1' is moving, you will end up with multiple iTweens on the player. Here is a bit of code that solves both issues:
 using UnityEngine;
 using System.Collections;
  
 public class Walk : MonoBehaviour {
  
 public Transform[] waypoints;
 public float m_speed = 1.0f;
 public GameObject player1;
 private int i = 0;
 
 private bool moving = false;
     
     public void Start() {
         transform.position = waypoints[0].position;    
     }
     
     public void Update() {
         if (!moving && i < waypoints.Length - 1 && Input.GetKeyDown(KeyCode.A)) {
             i++;
             moving = true;
             iTween.MoveTo(player1,iTween.Hash("position",waypoints[i],"speed",m_speed,"easetype","linear", "oncompletetarget",gameObject, "oncomplete", "Done"));    
         }
     
     }
     
     public void Done() {
         moving = false;
     }
 }
 
 
              Your answer