Comunidad de diseño web y desarrollo en internet online

Problema con preload (he hecho de todo)..

Citar            
MensajeEscrito el 15 Nov 2011 11:05 pm
Buenas tardes.. La verdad es que, lo que menos quería era tener que molestar, pero bueno, no pude resolver este inconveniente y lamentablemente me veo en la obligación de hacerlo :(

Les cuento, estoy tratando de hacer un juego flash, tratando de aprender lo más básico para luego lanzarme con algo más producido.

En una semana he logrado realizar lo más básico y lo necesario, y cuando quise comenzar a hacer el final, traté de poner una precarga, pero no me funciona.

He tratado con todo, he leído mil tutoriales y he visto mil vídeos..

El último que vi, fue el siguiente:
http://www.youtube.com/watch?v=K67t54SUAz8

Y bueno, les cuento:

1. Utilizo Flash CS5 y ActionScript 3
2. No me tira ningún error de compilación
3. Al darle "Probar película" y simular descarga, no muestra el preloader, solo muestra cinco puntos que aparecen de a uno y cuando están los 5 en pantalla desaparecen y vuelven a aparecer.
4. Traté haciendolo en una escena aparte, no funcionó, asi que lo moví a la escena del juego, tampoco funcionó, así que lo volví a poner en una escena aparte (de la primera).


Ahora lo empírico:

Les muestro el código:

Código ActionScript :

stop();

import flash.events.Event;

var bytesTotales = loaderInfo.bytesTotal;
var bytesCargados = loaderInfo.bytesLoaded;
var porcentaje = Math.round(bytesCargados * 100 / bytesTotales);

addEventListener(Event.ENTER_FRAME, lodeando);

function lodeando(event:Event):void
{
   
   textoPorcentaje.text = porcentaje + "% Cargado";
   cargaAnimada_mc.gotoAndStop(porcentaje);
   trace(porcentaje);
   
}

if (bytesCargados == bytesTotales)
{
   removeEventListener(Event.ENTER_FRAME, lodeando);
   gotoAndPlay(2);
   textoPorcentaje.text = "";
   removeChild(textoPorcentaje);
   removeChild(cargaAnimada_mc);
}


Y el link del juego para que vean que lo que aparece:
http://wmproducciones.net76.net/cartita/

Muchas gracias a los que me lean y perdón si molesté a algún individuo :)

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 16 Nov 2011 02:28 pm
Hola man, ese código esta mal estructurado. Mira seria así:

Código ActionScript :

stop();

import flash.events.Event;

var bytesTotales:Number = loaderInfo.bytesTotal;
var bytesCargados:Number;
var porcentaje:Number;

addEventListener(Event.ENTER_FRAME, lodeando);

function lodeando(event:Event):void
{
   bytesCargados = loaderInfo.bytesLoaded;
   porcentaje = Math.round(bytesCargados * 100 / bytesTotales);
   
   textoPorcentaje.text = porcentaje + "% Cargado";
   cargaAnimada_mc.gotoAndStop(porcentaje);   
}

if (bytesCargados == bytesTotales)
{
   removeEventListener(Event.ENTER_FRAME, lodeando);
   gotoAndPlay(2);
   textoPorcentaje.text = "";
   removeChild(textoPorcentaje);
   removeChild(cargaAnimada_mc);
}


Como veras en el enterframe se actualizan los bytes cargados.

abz ;)


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 16 Nov 2011 08:32 pm
Amigo, muchas gracias por tu pronta respuesta. La verdad es que acabo de cambiar el código y me muestra el preload, lamentablemente me muestra en 0% y salta al 100% en menos de un segundo, y luego de eso no pasa automáticamente a la segunda escena, aunque así lo diga. Es extraño es como si de hecho no estubiese cargandolo todo, solo lo de esa escena.

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 16 Nov 2011 11:23 pm
Lo probaste con simulate download???


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 17 Nov 2011 12:26 am

exekiel21 escribió:

Lo probaste con simulate download???


eXe


Sí, lo probé con simulate download, y con flash-html... Sigo pensando que debe ser el Flash CS5 ya que todos los tutoriales que he hecho y probado, son con CS4 o menos.. Podrá ser ese el problema?... He seguido miles y ninguno ha logrado funcionar :/

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 17 Nov 2011 05:13 am
usar un evento enter frame es mala practica a mi parecer ya que en el root hay un objeto loaderinfo al que puedes agregarle los eventos progress y complete,sin tener que hacer comprobaciones cada enterframe:

Código ActionScript :

import flash.events.ProgressEvent;
import flash.events.Event;


this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress,
                         false, 0,true);
this.loaderInfo.addEventListener(Event.COMPLETE,onComplete,
                         false,0,true);
                         
function onProgress(e:ProgressEvent): void
{
   var bytesLoaded:Number = e.bytesLoaded;
   var bytesTotal:Number = e.bytesTotal;
   var perc:Number = Math.ceil( bytesLoaded / bytesTotal) * 100;
   trace(e.type , "Porcentaje :" ,perc);
}

function onComplete(e:Event):void
{
   trace(e.type);
}


estos problemas de saltos de 1 a 100 se resuleven creando un archivo Main en el cual usando Loader mandas a cargar un swf, prueba ambas formas.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

chrome
Citar            
MensajeEscrito el 17 Nov 2011 05:49 pm
Acabo de hacer lo que me dijo Jonathan, y realmente nada... Es como si simplemente cargara todo, pero no cargara mientras muestra la animación del preload, si no que simplemente lo carga todo, llega al preload y como ya cargó todo se lo salta y pasa a la animación...

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 17 Nov 2011 08:44 pm
Amigos les doy muchas graciaspo u ayuda, por fin pude descubrir qué sucedía y era justamente que el Flash CS5 trae un preloader por defecto, solo se debe sacar ese preloader por defecto en las opciones del AS3 y funciona... Ahora el problema es que me aparece en 73%, pero bueno, ya al menos consigo hacerlo correr, trataré de buscar ahora como solucionar lo del preloader que empieza en 70% xd

muchas graciasnueamente!

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 18 Nov 2011 02:33 am
Eso que empieza en 70% se soluciona configurando al as3 que exporte las clases en el frame 2. Al terminar la carga lo llevas al frame 2 y haces lo que quieras.


Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 18 Nov 2011 02:50 am

exekiel21 escribió:

Eso que empieza en 70% se soluciona configurando al as3 que exporte las clases en el frame 2. Al terminar la carga lo llevas al frame 2 y haces lo que quieras.


Saludos


eXe


Así anduve viendo.. Lo puse, borré muchas cosas de la biblioteca y aún así, logré que comenzara en 50%... No logro hacer que empiece antes.. Leía que había que mover las clases al frame 2, y lo realicé, pero no sé si habrá que moverlas una x una (al menos en el flash cs5 da la opción de "Exportar a tal frame", pero hay que darle un nombre de clase y otra cosa más que no recuerdo y que al ponerlo, me decía que era inválido... Bueno seguiré leyendo a ver s logro arreglarlo, y si aluno sabe, que me de una mano por favor :)

Muchas gracias por su cortesía...

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 18 Nov 2011 03:13 am

Gonxalo escribió:


Así anduve viendo.. Lo puse, borré muchas cosas de la biblioteca y aún así, logré que comenzara en 50%... No logro hacer que empiece antes.. Leía que había que mover las clases al frame 2, y lo realicé, pero no sé si habrá que moverlas una x una (al menos en el flash cs5 da la opción de "Exportar a tal frame", pero hay que darle un nombre de clase y otra cosa más que no recuerdo y que al ponerlo, me decía que era inválido... Bueno seguiré leyendo a ver s logro arreglarlo, y si aluno sabe, que me de una mano por favor :)

Muchas gracias por su cortesía...


Eso de nombre de clase se autocompleta cuando le asignas una clase al fla en las propiedades del escenario. Si no estas trabajando con clases dejalo en blanco. Y configura que exporte las clases en el frame 2.


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 18 Nov 2011 07:49 pm

exekiel21 escribió:


Eso de nombre de clase se autocompleta cuando le asignas una clase al fla en las propiedades del escenario. Si no estas trabajando con clases dejalo en blanco. Y configura que exporte las clases en el frame 2.


eXe


Exactamente eso hice, al menos eso creo haber hecho.. Mira esta captura de lo que realicé:


Luego de hacerlo, lo publiqué, acepté, guardé, exporté y subí y aún así, nada... Sigue cargando del 50 en adelante... Es muy extraño, porque he hecho todo lo que dicen que haga... No será otra opción más del FCS5?

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome
Citar            
MensajeEscrito el 18 Nov 2011 08:53 pm
Guarda el fla como cs4 y luego guardalo como cs5



eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 18 Nov 2011 09:09 pm

exekiel21 escribió:

Guarda el fla como cs4 y luego guardalo como cs5



eXe


Nop, no funcionó.. Bueno, no importa, lo haré en dos SWF, uno será exclusivamente del preload y el otro será el del juego, si igual creo que haré unos cuantos más para seguir ensayando así que, podré reutilizar el preloader... Muchas gracias por la ayuda amigo!

Por Gonxalo

5 de clabLevel



 

Estudiante Ingeniero Informático

chrome

 

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