Pues si efectivamente ha habido un malentendido, siento haberme puesto así pero es que cuando leí el comentario estaba desesperado y nervioso por no poder arreglar los bugs y al leer el comentario pues he soltado algo de rabia, lo siento. Y si si , sé perfectamente que no hay manera suave de decir que es un desastre el juego lo entiendo perfectamente, pero yo no me refería a que me dijeses que es un desastre que aparte de entendible es lo que tienes que hacer, me refiero a que por ejemplo el error de que no se vea al jugador (que de verdad no entiendo de donde sale este bugg) podrías haberme dicho por donde van los tiros para arreglarlo o algo. Pero repito lo siento leí el comentario en mal momento xd Por cierto DavidV, no encuentro el post de presentación donde respondí de manera peor, por más que busque en la actividad. Un 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.
#2
General (Antiguo) / Pandi al rescate de Dr Who
Julio 30, 2015, 07:00:01 PM
Bueeeeno, vamos a ir por partes.Lo primero de todo musaraña, gracias por tu comentario tan constructivo, comentarios así siempre se agradecen.Lo segundo es aclararte la estética del videojuego. El juego está hecho para una persona en concreto, y esa persona dijo como quería la estética, y quería esta estética, asi de simple. Sobre las imágenes copiadas, solo hay la imagen de rose, el ood la tardis el doctor y el dalek que se ha cogido de internet, el resto es todo de nuestra cosecha. Y por cierto, la persona dijo que quería una especie de clon de Mario, es por eso que las nubes son las mismas.Y por último, decirte que te abstengas de comentar si es solo para esto, ya dije en el post que los gráficos eran dispares (como bien dices) y que era un clon de mario, pero es que venir aquí a dejar por los suelos (que lo puedo entender) pues es de ... bueno que si comentas esto al menos di como arreglarlo (que por cierto el error de no ver al personaje, eres la primera persona que le pasa, y en mi pc poniendo el juego a la resolución mínima, siempre se ve al personaje, dudo que tengas una resolución menor a 640x480), y te guardas tus ironías para ti, gracias.
#3
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
(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
#4
General (Antiguo) / Cannot convert 'boolean' to ''UnityEngine.CursorLockMode'
Julio 24, 2015, 03:07:48 PM
Estos graficos los haces mediante programacion o los has modelado? Es curiosidad....
#5
General (Antiguo) / Colisiones no detectadas
Julio 24, 2015, 09:58:43 AM
Oh gracias ACarranza, como no se me ha podido ocurrir :S ....El problema de que avance el personaje al disparar está solucionado, pero el problema de la deteccion de colisiones nope :/ he utilizado un debug.log a principio del collisionenter y en la consola no aparece nada de nada, y mira que los dos gameobjects tienen collider y las variables estan bien asignadas :/
#6
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:
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:
public Collider2D piruleta;
// Update is called once per frame
void OnCollisionEnter2D (Collision2D piruleta) {
if (piruleta.gameObject.tag == "Piruleta") {
Destroy (this.gameObject);
}
}
}
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.
#7
General (Antiguo) / Problemillas con animaciones y scripts
Julio 23, 2015, 08:27:23 PM
Señores, problema solucionado. Era un error tan tonto como que en el controller tenia puesta una transicion desde anystate hacia la animacion cuando la booleana es verdadera..... errores de principiante :/Gracias igualmente ftejada!!Un saludo
#8
General (Antiguo) / resaltar el personaje seleccionado
Julio 23, 2015, 07:45:04 PM
Facil, crea el plano como te han dicho, luego en el codigo tendrias que poner: Variable conteniendo el gameobject del plano (la llamaremos plano)y despues en una clase OnMouseDown (creo que era algo asi) escribes plano.gameObject.active = true/false (true= mostrar plano; false=esconderlo). PD: No recuerdo bien si era plano.gameObject.active ó plano.active.
#9
General (Antiguo) / Problemillas con animaciones y scripts
Julio 23, 2015, 06:48:59 PM
Ostias gracias no me habia fijado! :S A ver, intento explicar mejor el problema :$El caso es que tengo un bloque en plan los que sueltan las setas en Mario. Y lo tengo de la siguiente manera:Cuando se golpea el bloque, se desencadena una animación del bloque (cambia el color de éste) y cambia la variable estado del script PlayerLife.Una vez cambiada esta variable, tengo en otro script como condicion para poder disparar: apretar Fire1 y que la variable estado sea igual a 2.El problema?1- La animación empieza a reproducirse pero es como si se quedase estancada en el primer frame, se empieza a oscurecer y luego vuelve al color normal en bucle y super rapido, y no veo porque ocurre esto ya que he puesto que se reproduzca solo una vez la animacion, no la vuelvo a llamar nunca y aun asi se queda en bucle al principio de esta.2- Al parecer, o la variable estado se inicializa en 2, o el condicional que tengo para disparar [if botonfire1 apretado && estado = 2] no funciona, no sé donde está el error.Alomejor && equivale al operador logico "O" en ver de "Y".Gracias por tu atención! Espero que me haya explicado mejor jejeje EDIT: Acabo de fijarme que cambiando PlayerLife por lf en uno de los scripts me salta este error:
Assets/Scripts/Bloques/BlPiruleta.cs(26,28): error CS0176: Static member `PlayerLife.estado' cannot be accessed with an instance reference, qualify it with a type name instead
#10
General (Antiguo) / Problemillas con animaciones y scripts
Julio 23, 2015, 03:24:59 PM
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:
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:
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 :
//Variables Publicas (visibles en el inspector)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
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);
}
}
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:
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.
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);
}
}
}
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 :
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!!
public Vector2 piru;
public Collider2D blrompible;
// Update is called once per frame
void FixedUpdate () {
transform.Translate (piru);
}
void OnCollisionEnter2D (Collision2D blrompible) {
Destroy (gameObject);
}
}
#11
General (Antiguo) / Juego 2D - Hoja de Sprites o Mecanismo
Julio 23, 2015, 03:04:37 PM
Yo te recomiendo utilizar hoja de sprites ya que si lo haces por el segundo método que dices alomejor tardas más o puede ser mas engorroso dejarlo bien hecho (ya que tienes mas parámetros que controlar, no solo cambiar el sprite renderer cada x segundos).Esto te hablo desde mi experiencia personal, también es verdad que si lo haces dividiendo el cuerpo tienes mas control por eso y alomejor si es un juego 2D con personajes ... vamos a decir grandes porque no sé como explicarlo xd (vamos, que no tienen la pinta de los personajes por ejemplo de juegos de rpg maker), pues te será mas util.Se trata de probar los dos métodos y ver cual se adapta más a tu proyecto/método de trabajo.Un saludo!
#12
General (Antiguo) / Otro error más de novato....
Julio 23, 2015, 02:23:52 PM
El problema ya lo arreglé, era tan facil como que no escribia bien el nombre del script.
Ahora el problema esque este script hace avanzar al gameobject al que está atado, no solo al gameobject que estoy instanciando (piruleta), pero ademas la piruleta enseguida desaparece, avanza lo que parece ser una unidad y, deu desaparece.
Ahora el problema esque este script hace avanzar al gameobject al que está atado, no solo al gameobject que estoy instanciando (piruleta), pero ademas la piruleta enseguida desaparece, avanza lo que parece ser una unidad y, deu desaparece.
#13
General (Antiguo) / Otro error más de novato....
Julio 22, 2015, 04:19:23 PM
Muchisimas gracias por la aclaración, como bien ha comentado Arthure en el clon de otro post el error era tan simple como que el script que intentaba acceder no se llama codigo....... Aun así gracias porque me has aclarado mejor el funcionamiento de getcomponent y lo de las variables static!Muchas gracias, un saludo!
#14
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:
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.
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.
#15
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:
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.
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.