Menú

Mostrar Mensajes

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.

Mostrar Mensajes Menú

Temas - Rouless

#1
General (Antiguo) / Pandi al rescate de Dr Who
Julio 28, 2015, 06:42:52 PM
Buens gente, vengo a dejaros aquí el primero videojuego que he completado.El videojuego es un plataformas 2D con disparos en el cual controlarás a Pandi, un panda que gracias a sus poderes psíquicos maneja una pirueta con la que acabará con todos los que se le pongan por delante.Por la estética del juego (doctor who, un poco clon a mario, thrash metal de fondo, etc...) no os asustéis ni nada xd era la estética buscada.Aviso de que el juego está bastante llenito de bugs la verdad, (aparecen como la espuma en otros ordenadores que no sea el mío...) y por más que haya intentado conseguirlo no puedo arreglarlos (si de paso alguien me dice como, le estaré muy agradecido).La idea del juego es hacer uno corto pero difícil de completarlo entero, son 7 niveles bastante a lo die&retry  pero el retro siempre se hará desde la primera escena...Bueno ya me dirán que piensan

(Me da mal rollito soltar al publico una bazofia como esta, hecha rapidamente y sin poderla repasar bien :/ ) Aquí os dejo el link de la descarga del videojuego.https://drive.google.com/open?id=0B7azxNW2qCL9V1RLRnoyNzdUcG8" rel="external nofollow">https://drive.google.com/open?id=0B7azxNW2qCL9V1RLRnoyNzdUcG8
#2
General (Antiguo) / Colisiones no detectadas
Julio 23, 2015, 10:12:27 PM
Muy buenas, esta es la ultima vez que os molestaré durante una larga temporada, prometido!Os explico, tengo un bloque que se supone que con un disparo se rompe (los disparos son piruletas).Para ello le he atado este script al bloque:

public Collider2D piruleta;


// Update is called once per frame
void OnCollisionEnter2D (Collision2D piruleta) {
   if (piruleta.gameObject.tag == "Piruleta") {
      Destroy (this.gameObject);
   }
}
}
El tag en el prefab piruleta está bien puesto y todo, pero no entiendo porque el bloque no se rompe..... Otra cosilla es que para tirar la piruleta lo tengo de este modo:
   if (estado == 2) {
      //Estado con piruleta
      if (Input.GetButtonDown ("Fire1")) {
         Instantiate (piruleta, transform.position, Quaternion.identity);
      }
y la piruleta lleva este script:
   void FixedUpdate () {
this.transform.Translate (piru);
   }

//   void OnCollisionEnter2D (Collision2D coll) {
//      if (coll.gameObject.tag != "Player") {
//         Destroy (gameObject);
//      }
//   }
}
EL caso es que no se que cojones pasa, que lanza la piruleta, pero tambien mueve de una unidad el personaje, sabriais a que es debido?Muchas gracias por vuestra atención.
#3
Muy buenas a todos.Os explico mi situación. Estoy haciendo un clon de mario bross (bueno no exactamente un clon pero en cuanto a mecanicas si) y que no consigo hacer que funcione el bloque que te da el power-up (hay que decir que programando acabo de empezar asique soy bastante noob).La manera en la que lo tengo montado es lo siguiente: 
   //Variables Publicas (visibles en el inspector)
public GameObject player;
public Collider2D player_c;

//Variables privadas
private Animator anim;
private PlayerLife lf;
private bool touch = true; //debido a problemas de reproduccion de animacion cuando se llama desde el evento
               //de frame, utilizamos una booleana desde update

//Inicializacion de las variables
void Start () {
   anim = gameObject.GetComponent<Animator> ();
   lf = player.GetComponent<PlayerLife> ();

}

void Update () {
   if (touch == true) {
      anim.SetBool ("bltouched",true);
      PlayerLife.estado = 2;
   }
}

//Al recibir colision
void OnCollisionEnter2D (Collision2D player_c) {
#if UNITY_EDITOR
   Debug.Log ("Caja tocada"); //comprobamos por consola que la colision se efectua
//   Debug.Log (bltouched);
#endif
   touch = true;
//      Invoke ("NormalizarBloque", 10);
//      PlayerLife.estado = 2;
}


void NormalizarBloque () {
   anim.SetBool ("blistouched", false);
}

}
Lo que tengo en comentarios es la antigua manera que utilizaba para reproducir la animacion, pero me dijeron que utilizando eventos de frame (en este caso oncollisionenter2d) reproducir animaciones suele llevar a errores por lo que lo puse en comentarios y utilize una booleana en update para hacerlo, pero aun así me da el mismo error:La fucking animacion no funciona. Me explico, la animacion empieza como a parpadear (la animacion es un cambio de color del sprite). Al principio pensaba que era porque la booleana bltouched volvia a false demasiado rapido pero despues de provarlo con un invoke con 10 segundos de retraso veo que pasa lo mismo. Luego intento hacerlo con solo un state y la animacion en play once y me sigue pasando el mismo error.  Este es uno de los problemas, pero esque luego tengo otro    // Update is called once per frame
void Update () {

   if (estado == 2) {
      //Estado con piruleta
   }

   if (estado == 1) {
      //Estado sin piruleta
   }

   if (estado == 0) {
      Application.LoadLevel ("GameOvah");
   }
}
Un script que llevaria el contador de vidas por asi decirlo (obviad el GameOvah xd)y luego otro codigo para lanzar la piruleta:

public GameObject piruleta;
public GameObject player;

public PlayerLife scr;

// Use this for initialization
void Start () {
   scr = gameObject.GetComponent<PlayerLife>();
}

 //Update is called once per frame
void Update () {
   if (PlayerLife.estado == 2 && Input.GetButtonDown ("Fire1")) {
      Instantiate (piruleta, transform.position, transform.rotation);
   }
}
}
Cual es el problema? Pues que incluso antes de tocar la box que me cambiaria el estado a 2, es decir que me daria la piruleta; puedo lanzar piruletas.
Por otro lado, cuando lanzo una piruleta, esta se instancia, avanza lo que parece ser una unidad (no he mirado exactamente cuanto) y luego desaparece así sin mas. Peeeero es que para colmo, cuando tiro una piruleta, tambien hace avanzar el player (la misma distancia que avanza la piruleta) hasta que la piruleta desaparece. Por si sirve de algo, el prefab de la piruleta lleva el siguiente script :

public Vector2 piru;
public Collider2D blrompible;

// Update is called once per frame
void FixedUpdate () {
transform.Translate (piru);
   }

void OnCollisionEnter2D (Collision2D blrompible) {
   Destroy (gameObject);
}
}
Con este script hago que la piruleta avance hacia la derecha y ademas que si se encuentra con un bloque rompible pues que se destruya (ahora que pienso, deberia ser con cualquier colision pero bueno ese no es el problema), ademas el prefab lleva una animacion de la piruleta girando. Espero haber sido lo más claro posible y que podais aportarme algo de ayuda que llevo desde ayer intentándolo y no hay manera. Un saludo y muchisimas gracias de antemano!!
#4
General (Antiguo) / Otro error más de novato....
Julio 22, 2015, 01:16:39 PM
Muy buenas gente, os explico la situación.Tengo el objeto del player con varios scripts (uno para el movimiento, otro para disparar etcetera etcetera, así como duda repentina, pensais que es mejor ponerlo todo en el mismo script o tenerlo por scripts separados?) y quiero utilizar una variable de otro script. El caso es que con static me dice que no llega porque el nivel esta demasiado protegido y he leido que con getcomponent puedes acceder a las variables del script. El caso es que no sé como hacer un getcomponent para el script (si, muy noob using UnityEngine;
using System.Collections;

public class Piruleta : MonoBehaviour {

public GameObject piruleta;
public GameObject player;

private codigo scr;

// Use this for initialization
void Start () {
   scr = gameObject.GetComponent<codigo>();
}

// Update is called once per frame
void Update () {
   if (PlayerLife.estado == 2 && Input.GetButtonDown ("Fire1")) {
      Instantiate (piruleta, transform.position, transform.rotation);
   }
}
}
Y el error que da es obviamente el siguiente:
Assets/Scripts/Miscelaneos/Piruleta.cs(9,16): error CS0246: The type or namespace name `codigo' could not be found. Are you missing a using directive or an assembly reference?
 Gracias por resolverme las dudas! Un saludo
Lo siento muchisimo no se que le ha pasado al internet que me ha enviado tres veces el formulario, si algún moderador seria tan amable de cerrar dos de los tres posts se le agredecería.Siento las molestias, un saludo.
#5
General (Antiguo) / Otro error más de novato....
Julio 22, 2015, 01:14:37 PM
Muy buenas gente, os explico la situación.Tengo el objeto del player con varios scripts (uno para el movimiento, otro para disparar etcetera etcetera, así como duda repentina, pensais que es mejor ponerlo todo en el mismo script o tenerlo por scripts separados?) y quiero utilizar una variable de otro script. El caso es que con static me dice que no llega porque el nivel esta demasiado protegido y he leido que con getcomponent puedes acceder a las variables del script. El caso es que no sé como hacer un getcomponent para el script (si, muy noob using UnityEngine;
using System.Collections;

public class Piruleta : MonoBehaviour {

public GameObject piruleta;
public GameObject player;

private codigo scr;

// Use this for initialization
void Start () {
   scr = gameObject.GetComponent<codigo>();
}

// Update is called once per frame
void Update () {
   if (PlayerLife.estado == 2 && Input.GetButtonDown ("Fire1")) {
      Instantiate (piruleta, transform.position, transform.rotation);
   }
}
}
Y el error que da es obviamente el siguiente:
Assets/Scripts/Miscelaneos/Piruleta.cs(9,16): error CS0246: The type or namespace name `codigo' could not be found. Are you missing a using directive or an assembly reference?
 Gracias por resolverme las dudas! Un saludo
Lo siento muchisimo no se que le ha pasado al internet que me ha enviado tres veces el formulario, si algún moderador seria tan amable de cerrar dos de los tres posts se le agredecería.Siento las molestias, un saludo.
#6
General (Antiguo) / Otro error más de novato....
Julio 22, 2015, 01:11:40 PM
Muy buenas gente, os explico la situación.Tengo el objeto del player con varios scripts (uno para el movimiento, otro para disparar etcetera etcetera, así como duda repentina, pensais que es mejor ponerlo todo en el mismo script o tenerlo por scripts separados?) y quiero utilizar una variable de otro script. El caso es que con static me dice que no llega porque el nivel esta demasiado protegido y he leido que con getcomponent puedes acceder a las variables del script. El caso es que no sé como hacer un getcomponent para el script (si, muy noob using UnityEngine;
using System.Collections;

public class Piruleta : MonoBehaviour {

public GameObject piruleta;
public GameObject player;

private codigo scr;

// Use this for initialization
void Start () {
   scr = gameObject.GetComponent<codigo>();
}

// Update is called once per frame
void Update () {
   if (PlayerLife.estado == 2 && Input.GetButtonDown ("Fire1")) {
      Instantiate (piruleta, transform.position, transform.rotation);
   }
}
}
Y el error que da es obviamente el siguiente:
Assets/Scripts/Miscelaneos/Piruleta.cs(9,16): error CS0246: The type or namespace name `codigo' could not be found. Are you missing a using directive or an assembly reference?
 Gracias por resolverme las dudas! Un saludo
Lo siento muchisimo no se que le ha pasado al internet que me ha enviado tres veces el formulario, si algún moderador seria tan amable de cerrar dos de los tres posts se le agredecería.Siento las molestias, un saludo.
#7
Muy buenas a todos.Os explico mi problema (últimamente demasiados... aix): estoy haciendo un videojuego donde el personaje lanza piruletas, unas piruletas que avanzan y a medida que avanzan van rotando sobre si mismas en el eje Z (nótese que el juego es en 2D). El problema es que como va rotando, el eje X de la piruleta tambien va rotando y por tanto al avanzar hacia el eje X, si este va rotando, la piruleta va dando vueltas en circulo. Pensé que animando la rotacion y programando la translacion se arreglaria (iluso de mi....) pero nop.Entonces, como hago para que rote y eso no afecte a la translacion? PD: Si además me decís como hacer para que la piruleta salga disparada en la dirección que mira el personaje..... os chupo los pies 3:) jajajajaja Gracias por la atención, un saludo!
#8
General (Antiguo) / Unity no actualiza scripts
Julio 15, 2015, 07:01:11 PM
Hola, muy buenas a todos, estaba siguiendo un tutorial, y copiando el script a Unity 5, veo que no me hace el backup, pensaba que era porque estaba bien pero no porque tengo 11 errores en la consola, entre ellos algunos que dicen que el codigo está obsoleto.
Soy nuevo en la programación y la verdad no tengo mucha idea de como podría actualizar este script, si alguien me hecha una mano le estaría muy agradecido. 
Aquí está el script

public float speed = 1.0f;

public float jumpSpeed = 0.5f;

public LayerMask groundLayer;


private Animator anim;

private Transform gCheck;

private float scaleX = 1.0f;

private float scaleY = 1.0f;


void Start () {

anim = GetComponent();

gCheck = transform.FindChild("GCheck");


}


void FixedUpdate () {

float mSpeed = Input.GetAxis("Horizontal");

anim.SetFloat("Speed", Mathf.Abs(mSpeed));

bool isTouched = Physics2D.OverlapPoint(gCheck.position, groundLayer);


if (Input.GetKey(KeyCode.Space)){


if (isTouched){

Rigidbody2D.AddForce(Vector2.up * jumpSpeed, ForceMode2D.Force);

isTouched = false;

}

}

anim.SetBool("isTouched", isTouched);


if (mSpeed > 0){

transform.localScale = new Vector2(scaleX, scaleY);

}

else if (mSpeed < 0){

transform.localScale = new Vector2(-scaleX, scaleY);

}


this.rigidbody2D.velocity = new Vector2(mSpeed * speed, this.rigidbody2D.velocity.y);

}

}[/quote]
 
Y aquí están los errores de la consola:
Assets/NewBehaviourScript.cs(35,31): error CS1026: Unexpected symbol `;', expecting `)'


Assets/NewBehaviourScript.cs(35,34): error CS0201: Only assignment, call, increment, decrement, and new object expressions can be used as a statement


Assets/NewBehaviourScript.cs(35,34): error CS1026: Unexpected symbol `)', expecting `)'


Assets/NewBehaviourScript.cs(38,20): error CS1519: Unexpected symbol `else' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(38,33): error CS1519: Unexpected symbol `&' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(38,36): error CS1519: Unexpected symbol `;' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(39,46): error CS1519: Unexpected symbol `=' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(39,60): error CS1519: Unexpected symbol `-' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(39,67): error CS1519: Unexpected symbol `,' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(39,75): error CS1519: Unexpected symbol `)' in class, struct, or interface member declaration


Assets/NewBehaviourScript.cs(42,20): error CS8025: Parsing error

[/quote]
 
Muchas gracias de ante-mano! Un saludo.
 
PD: Siento no haber puesto el código en formato de... pues eso codigo, como no encuentro la función lo he puesto en un spoiler