En este momento estás viendo mover objetos de un lado a otro hasta el cuarto entre puntos y detenerlos con un clic del mouse

 – Unity

mover objetos de un lado a otro hasta el cuarto entre puntos y detenerlos con un clic del mouse – Unity

mover objetos de un lado a otro hasta el cuarto entre puntos y detenerlos con un clic del mouse

– UnityAssets3Free

buenas , por aqui Juan y hoy os traigo
esta pregunta

Actualmente intento mover un sprite entre dos puntos y hacer que se detenga entre esos dos puntos haciendo clic/tocando el mouse. No puedo entender cómo hacer esto (el script no está sobre el objeto que se está moviendo por cierto)

 void Update() 
         if(isMoving)
         Vector3 v = startingPos;
         v.x += distanceToCover * Mathf.Sin(Time.time * triangleSpeed);
         transform.position = v;
         
         if(Input.GetMouseButtonDown(1))
             
         
         
     

2 respuestas 2

Si la primera parte del código funciona bien, no permita que se llame al movimiento, lo que significa que simplemente configure el isMoving por false.

void Update() 
         if(isMoving)
         Vector3 v = startingPos;
         v.x += distanceToCover * Mathf.Sin(Time.time * triangleSpeed);
         transform.position = v;
         
         if(Input.GetMouseButtonDown(1))
             isMoving = false;
           
     

Puede animar este movimiento y luego establecer la velocidad de animación en 0 cuando se hace clic

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class stoponclick : MonoBehaviour
{

public GameObject movingObject;

void Update()

if (Input.GetMouseButtonDown(1))


        if (movingObject != null)
        
            if (movingObject.GetComponent<Animator>()!=null)
            
                movingObject.GetComponent<Animator>().speed=0;
            
        
    

}

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

eso es todo,espero que te halla servido

Deja una respuesta