Buenas de nuevo !A ver sigo desarrollando mi primer juego 2D en Unity y estaba pensando en un sistema mediante el cual se pudieran desbloquear niveles y personajes comprándolos con items que se conseguirían en el propio juego (monedas que fuera recogiendo el personaje por la pantalla).¿Alguien conoce algun sitio o tutorial donde pueda encontrar información de esto? He mirado lo de SOOMLA (http://know.soom.la/unity/%22">http://know.soom.la/unity/), pero dandole un vistazo por encima me ha parecido un poco complejo...Estoy 'aprendiendo' la API de Unity como para ponerme ahora con otra más XDUn saludo!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Páginas1
#2
General (Antiguo) / Personaje corriendo por el suelo y por el techo
Agosto 14, 2015, 02:55:15 AM
Buenas !Este es mi primer post asique se podrá ver en el código adjunto lo novato que soy XD. A ver ... estoy en proceso de hacer un juego de correr.La idea de los controles es la siguiente: 1. Click en para empezar a correr (a partir de aqui los siguientes clicks sirven para saltar)2. Doble click el personaje pasa del suelo al techo y sigue corriendo3. Doble click el personaje vuelve a pasar del techo al suelo y sigue corriendoHe conseguido los dos primeros controles pero soy incapaz de conseguir el tercero. Dejo aqui lo que he conseguido a ver si alguien puede echarme un cable. He señalado en negrita la parte que más me lleva de cabeza... la de los saltos y el cambio entre suelo y techo.
using UnityEngine;Un saludo y gracias !
using System.Collections;
public class Controlador : MonoBehaviour {
public float fuerzaSalto=14f;
public bool enSuelo = true;
public Transform comprobadorSuelo;
float comprobadorRadio = 0.07f;
public LayerMask suelo;
private bool dobleSalto = false;
public float velocidad = 6.5f;
public bool enTecho = false;
private Animator animator;
private bool corriendo = false;
void Awake (){
animator = GetComponent<Animator>();
}
// Use this for initialization
void Start () {
}
void FixedUpdate () {
if (corriendo) {
GetComponent<Rigidbody2D>().velocity = new Vector2(velocidad, GetComponent<Rigidbody2D>().velocity.y);
}
animator.SetFloat("Speed", GetComponent<Rigidbody2D>().velocity.x);
enSuelo = Physics2D.OverlapCircle (comprobadorSuelo.position, comprobadorRadio, suelo);
animator.SetBool ("Ground", enSuelo);
if (enSuelo) {
dobleSalto = false;
}
}
// Update is called once per frame
void Update(){
if (Input.GetMouseButtonDown (0)) {
if (corriendo) {
if(enSuelo || !dobleSalto){
GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, fuerzaSalto);
if (!dobleSalto && !enSuelo){
dobleSalto = true;
GetComponent<Rigidbody2D>().gravityScale = -2f;
transform.Rotate(new Vector2(180,0));
enTecho=true;
}
if (enTecho){
if(enSuelo || !dobleSalto){
GetComponent<Rigidbody2D>().velocity = new Vector2(GetComponent<Rigidbody2D>().velocity.x, -fuerzaSalto);
if (!dobleSalto && !enSuelo){ /*NO ENTRA EN ESTE IF*/
dobleSalto = true;
GetComponent<Rigidbody2D>().gravityScale = 2f;
transform.Rotate(new Vector2(180,0));
enTecho=false;
}
}
}
}
} else {
corriendo = true;
NotificationCenter.DefaultCenter().PostNotification(this,"PersonajeEmpiezaACorrer");
}
}
}
}
#3
General (Antiguo) / Hola a todo el mundo !
Agosto 12, 2015, 09:49:25 PM
Hola ! Soy estudiante de 2º de DAW y comencé con Unity hará una semanita y la verdad es que me ha enganchado. Siguiendo un tutorial he conseguido desarrollar un endless runner y me ha picado el gusanillo por mejorarlo y hacer otras cosas. Espero aprender muchas cosas por aquí y no dar demasiado la brasa con preguntas tontas de noob XD Un saludo !
Páginas1