Comunidad de diseño web y desarrollo en internet online

problema con la carga de png

Citar            
MensajeEscrito el 08 May 2012 11:10 am
Buenos días, soy nuevo aquí en el foro aunque ya lo use varias veces, pero es que se me ha presentado un problema que no consigo resolver ni encontrar la lógica de este. Estoy haciendo un juego de carta alta para mi empresa con flash 8, ya hice varios juegos y encontré la lógica de todos los errores pero este llevo todo el día y nada, el problema es el siguiente.

Yo cargo unos png que son los reversos de las cartas, eso siempre sin problema, pero me pongo a cargar la carta en si que es otro png y casi siempre se carga, pero a veces sin razón aparente, decide no aparecer. El desarrollo de la carta es el siguiente, aparece dada la vuelta, se voltea horizontalmente el reverso hasta que este no se ve en ese momento en el mismo movieclip se carga la carta y se vuelve a voltear horizontalmente para quedar como el original. Estoy desesperado, no se porque a veces y aleatoriamente no aparece una carta. Estuve un rato jugando y cualquier carta que me ha fallado en algún otro momento se ha cargado bien, es como un error porque si.

Aquí os dejo el código:

var cartaban:String;
var numero:String=nban//numero de la carta de la banca;
var palo;
if(pban//palo de la carta de la banca==0){
palo="c";
}
else if(pban==1){
palo="d";
}
else if(pban==2){
palo="p";
}
else if(pban==3){
palo="t";
}
cartaban=numero+palo+".png";
banca.loadMovie ("png/Cartas/"+cartaban);

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 08 May 2012 12:03 pm
Si la cantidad de cartas es finita, por ejemplo 52 en una baraja de poker, no es posible poner cada carta en un frame de un MovieClip y usar eso como base en vez de haciendo cargas todo el tiempo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2012 02:22 pm

solisarg escribió:

Si la cantidad de cartas es finita, por ejemplo 52 en una baraja de poker, no es posible poner cada carta en un frame de un MovieClip y usar eso como base en vez de haciendo cargas todo el tiempo?

Jorge


A ver, eso me parece una chapuza para mi caso, explico, se trata de que al terminar el juego se recargue la pagina para dar mas visitas pues la empresa cobra por visitas, y también se puede elegir tipo de baraja, si se hace de esa forma se tendrían que meter 52 fotogramas por baraja, añadiendo y añadiendo cada vez mas, se hace insostenible y de un peso inadecuado y completamente fuera de lugar. Creo que cargar la carta que necesitas en cada momento es lo mas apropiado, de todas formas busco una localización del posible problema para solventarlo o como poder localizar el problema, no una alternativa aunque se agradece tu ayuda. No se si tendrá que ver algo con el volteo horizontal, gracias por adelantado por la ayuda.

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 08 May 2012 02:27 pm
Si siempre es la misma baraja, lo tienes en menos de 100 kb y te evitas problemas como los que cuentas, además de los delays de cada carga ... pero cada maestrito con su librito ;)
Eso si, chapuza nada, mas bien es como se hacen practicamente todos los juegos de cartas con cantidad finita adecuada

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2012 02:48 pm

solisarg escribió:

Si siempre es la misma baraja, lo tienes en menos de 100 kb y te evitas problemas como los que cuentas, además de los delays de cada carga ... pero cada maestrito con su librito ;)
Eso si, chapuza nada, mas bien es como se hacen practicamente todos los juegos de cartas con cantidad finita adecuada

Jorge


a ver digo que es chapuza porque ponte en el caso, quieres meter 10 barajas a elegir, estas cargando 520 cartas cuando vas a usar 2 porque cuando termina el juego se recarga la pagina, dos delays por una eficiencia de carga ¿de cuanto? 0,38%, eso con 10, cuando la idea es seguir ampliando, no digo que sea una chapuza siempre eso, digo que en este caso a mi me parece muy poco adecuado, a todo esto, ¿no se te ocurre porque puede fallar cuando le apetece?

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 08 May 2012 03:00 pm
La baraja es una, así uses 100 barajas, la carga es 0 (se cargo al principio)
La instancia es única, el cambiar de carta es solo un gotoAndStop
Es mas eficiente en cantidad de código y por eso todos lo hacen así.
Pero es una obviedad, no algo que quiera discutir, ya lo descubrirás por ti mismo si te dedicas a programar juegos.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2012 03:06 pm
no entendiste, cuando digo 10 barajas me refiero a que tu puedes elegir entre 10 barajas y por lo tanto tendré que tener las 10 barajas preparadas para el caso, no que se cambie una por otra, no es una baraja son 10 y todas cargadas al principio. Creo que no terminas de entender como es el juego, la carga después de cargar es mínima, lo estoy viendo en las pruebas, no se nota nada de retraso, yo en todo el juego solo hago una post carga de dos cartas por requerimientos del que manda pero dejemos ese asunto a parte. Donde puede estar el fallo para que cuando a el le apetezca falle en una carta que otras veces no falla, pon j de picas que fue la ultima que me fallo hace un rato y otras veces ha salido bien xd.

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 08 May 2012 03:09 pm
Muy interesante lo que cuentas ¿Las 10 barajas son distintas?
Solo explicaste que se gira la carta ¿Es el memotest de armar pares?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2012 03:20 pm
es un carta alta, creo que lo puse al principio, a ver te explico algo mas detalladamente, conoces el solitario no? el de windows de toda la vida, puedes escoger el dorso, imagina que también puedes pillar baraja francesa, o española, o inglesa, o de animales o de navidad, etc, ya me entiendes, entonces el juego es sencillo, primera pantalla introducción te vas a reglas o juego, le das a juego, dos cartas dada la vuelta, la tuya se gira como si la dieses la vuelta, con un volteo vertical, entonces eliges tu apuesta, y te pregunta, mayor o menor, eliges y se da la vuelta a la de la banca, te dice si ganaste o perdiste y el juego tras un par de segundos recarga la pagina web entera (cosas del cobro por publicidad). Ahora entiendes porque cargo solo 2? depende de la baraja que hallas elegido y del dorso para saber que imagen vas a cargar, si tengo que cargarlas todas en distintos fotogramas vamos bien, así tengo 3 o 4 fotogramas en total, creo que 8 contando los movieclip.

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 08 May 2012 03:42 pm
Ok, entiendo. Lo del error de carga suele ocurrir a veces porque no carga bien ... o tarda mucho aunque pese poco. La siguiente vez ya la tiene en cache y no falla. Usa un sniffer como por ejemplo charlesproxy.com para ver si falla la llamada en la que no se carga o es simplemente que no se visualiza

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2012 03:59 pm
Bueno teniendo en cuenta lo que tarda en darse la vuelta no creo que tarde en cargar, pero como no se mucho de esto veré eso que dices, soy nuevo en esto como te dije, ya hice varios juegos de forma autodidacta pero no conozco esa herramienta que me dices tu. ¿Me explicas que es exactamente?. De todas formas por si ayuda, me pareció que hay las mismas posibilidades de que falle ejecutando localmente que en un servidor. Por si ayuda, si eso mañana veo que código os puedo enseñar sin comprometer el juego a ver si a alguien se le ocurre porque se le pira la pinza.

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 09 May 2012 07:31 am
A nadie se le ocurre porque puede fallar o sabe alguna forma de comprobar con el actionscript que se halla cargado la imagen?

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome
Citar            
MensajeEscrito el 09 May 2012 11:49 am
Para comprobar si una imagen se cargó se usan los preloaders. En la sección de tutoriales tienes unos cuantos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 May 2012 12:10 pm
Lo que pasaba es que giraba la carta, llegaba hasta el 0px x 0px y al cargar una nueva al cargarse en nada, porque 0x0 es nada, daba igual que ampliase horizontalmente porque no habia nada, lo raro es que usando todos la misma funcion y saliendo todos desde 100, algunos llegaban a 0.001, y otros a 0.

Por bakiat

6 de clabLevel



 

Programador, diseño flash

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.