Hola Gente! Regresé con un post más sobre Unity 2.5D esta vez terminaremos la parte del Joystick y como unirlo a nuestro personaje 2D, no es muy difícil que digamos, en el vídeo podrán encontrar además como resolver el problema cuando se borran los estados y los enlaces, si es que les llega a suceder eso.
Les comento que el error de los estados es un problema de Unity, un bug sin resolver que hasta el día lunes de esta semana no le he visto que le hayan encontrado solución, ojalá lo resuelvan en los próximos días.
Código
using UnityEngine; using System.Collections; public class JoystickScript : MonoBehaviour { public CNJoystick movementJoystick; private Transform transformCache; private Animator animador; public float Velocidad; // Use this for initialization void Awake() { animador = GetComponent<Animator>(); if (movementJoystick == null) { throw new UnassignedReferenceException("Please specify movement Joystick object"); } movementJoystick.FingerTouchedEvent += StartMoving; movementJoystick.FingerLiftedEvent += StopMoving; movementJoystick.JoystickMovedEvent += Move; transformCache = transform; } // You can extend this class and override any of these virtual methods protected virtual void Move(Vector3 relativeVector) { // It's actually 2D vector transformCache.position = transformCache.position + relativeVector*Velocidad; FaceMovementDirection(relativeVector); } private void FaceMovementDirection(Vector3 direction) { //avanza en cualquier direccion animador.SetTrigger("Avanzar"); //Debug.Log (direction.x + "," +direction.y); if (direction.sqrMagnitude > 0.1) { transform.up = direction; } } protected virtual void StopMoving() { //Se mueve arriba animador.SetTrigger("Norte"); } protected virtual void StartMoving() { //avanza en cualquier direccion animador.SetTrigger("Avanzar"); } }
Proyecto:
https://www.box.net/shared/6loxplkxcmi7wlr3noki
Vídeo:
Parte 1: Reparando el error de los estados perdidos
https://www.youtube.com/watch?v=0xLxNSwQ3H4#t=1m09s
Parte 2: Reparando el error de los estados perdidos
https://www.youtube.com/watch?v=0xLxNSwQ3H4#t=3m55s
Parte 3: Animaciones simple con Mecanim usando código
https://www.youtube.com/watch?v=0xLxNSwQ3H4#t=6m58s
Parte 4: Explicando el código de JoystickScript y el uso de coordenadas
https://www.youtube.com/watch?v=0xLxNSwQ3H4#t=10m45s
Suerte!
Hola que tal estoy siguiendo los tutos, muy buenos, tengo una consulta, si en vez de usar un joystick, es posible hacerlo con el mouse event ?, de ser así tendrías alguna pagina para referirme o algún ejemplo básico, gracias por los aportes ! exitos
Hola! la verdad es que no he hecho mouse event a fondo, pero en realidad se sentiría bastante dificil mover con el mouse el joystick, en todo caso puedes poner testing en el Script del Joystick y va a funcionar, pero no creo que sea muy interesante o al menos comodo