Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Noviembre 17, 2012, 09:59:24 PM

Título: [Solucionado] Ayuda con asignar sprites (sprite_add) a variables
Publicado por: DarkKRuleR en Noviembre 17, 2012, 09:59:24 PM
buenas, pues la cosa es que no consigo lograr esto sin fallos... mi programa es un juego de cartas
obj_controlador
create:
carta_vacia = sprite_add(working_directory + "/Cartas/carta_screen.png", 0, false, false, 0, 0);

for (i = 0; i < 60; i += 1) {
    DeckA[i] = instance_create(600, 500, obj_carta);
    DeckA[i].sprite = carta_vacia;
    DeckB[i] = instance_create(300, 100, obj_carta);
    DeckB[i].sprite = carta_vacia;
}


con eso creo las 60 cartas con sprites predefinidos (de momento no me he puesto a leerlos). en la carta tengo:

obj_carta
create:
sprite = obj_controlador.carta_vacia;

la duda: a lo mejor no es necesario que en el create de la carta asigne eso, pero sí lo hago en otras partes y en ambas pasa lo mismo: da error al leer obj_controlador.carta_vacia. Por qué?

si no hiciera esa asignacion en el evento create, estaría bien ya que se asigna en el for anterior, o es necesario también en su create? en este caso, si no me equivoco, el valor dado a sprite en el for para cada carta sobreescribe el valor del evento create de cada carta, eso es así?
lo segundo es más pro saber, siempre lo he hecho así sin problema, la cosa es el primer error...
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: Texic en Noviembre 17, 2012, 10:05:17 PM
A lo mejor sprite_add funciona de manera paralela al proceso del juego. Probá darle un sleep(10000) para sacarte las dudas
Otra cosa que pueda causarlo no encuentro
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: DarkKRuleR en Noviembre 17, 2012, 10:07:09 PM
ya puse sleep(100) y sleep(10000) justo después del sprite_add del controlador. En ambos casos falla al acceder a carta_vacia...

si lo que fallara fuera al leer el png por poner mal la dirección o usar / o \, daría error y me daría cuenta no? si no da error es que lee la imagen correctamente... y que carta_vacia contiene correctamente la imagen...
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: Texic en Noviembre 17, 2012, 10:41:16 PM
Puede ser, trata de usar un show_message(carta_vacia) justo después de cargarla a ver qué te dice
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: DarkKRuleR en Noviembre 17, 2012, 11:02:08 PM
Me devuelve 2... pero ya no hay errores!!! quizas sea porque se me olvidó poner el obj_controlador, cofcof

pero sigue sin funcionar del todo... en BEGIN STEP de un objeto que es una carta gigante tengo (obj_carta_screen):
sprite = obj_controlador.carta_vacia;
ver = false;

y luego en las cartas pequeñas tengo en STEP:
if (position_meeting(mouse_x, mouse_y, self)) {obj_carta_screen.sprite = sprite; obj_carta_screen.ver = true;}

si no me equivoco, la carta grande siempre comienza reseteando su imagen en begin_step, y si tengo el ratón sobre una carta pequeña la grande cambia a la imagen de la pequeña y SE HACE VISIBLE, pero en mi caso la grande siempre es invisible... cuando deberia hacerse visible al pasar el raton por una pequeña y poner su ver = true!
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: Texic en Noviembre 17, 2012, 11:06:53 PM
Buscaste conflictos de nombres o variables?
Título: Re:Ayuda con asignar sprites (sprite_add) a variables
Publicado por: DarkKRuleR en Noviembre 17, 2012, 11:18:26 PM
vale, usé mouse_enter y leave para poner a true/false la variable para hacer visible la carta y está todo solucionado, gracias!

si supiera como va el sistema de puntos te daría xD (cada cuanto se gana, como y en que cantidad, para saber cuanto dar o si hay que racionarlo... vamos, todo) lo pregunté en noticias pero no hay respuesta y ahí no dice cómo funciona :c
Título: Re:[Solucionado] Ayuda con asignar sprites (sprite_add) a variables
Publicado por: Texic en Noviembre 18, 2012, 12:06:40 AM
En el post de "Bienvenido a la cgm 2013" dice lo básico, cuánto se gana por mensaje y eso, pero no importa, me alegro q lo hayas solucionado