Comunidad de diseño web y desarrollo en internet online

Ayuda secuencia imagenes

Citar            
MensajeEscrito el 23 Feb 2010 12:08 pm
Buenos dias a todos,
soy nuevo a CristaLAB, y lo veo muy interesante todo :)

A ver, iré al grano...
Yo conozco bastante bien el AS2, pero el AS3 nada de nada....

El problema es que tengo una secuencia de imagenes en AS2
y ahora necesito que esté en AS3 (motivos de terceros...)

He mirado por todo CristaLAB i no he encontrado nada al respecto, y por google tampoco.
y no se ni como meterme para "hacer una traduccion literal de AS2 a AS3" que seguramente no funcionaria.

lo que necesito es muy sencillo:

una secuencia de imagenes (no galeria, es decir, como diapositivas)
que cambien automaticamente (a poder ser con efecto fade, sino no importa).
Estas imagenes seran recogidas por un PHP (mediante variable o XML)
ya que el PHP lo que hace es leer las imagenes de un directorio i las envia
(con sus respectivos nombres con path) al fhash.

Alguna idea¿?


Muchas gracias a todos

Por mred

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Feb 2010 03:12 pm
Que aprendas AS3 para traducir el código o que otro te lo traduzca, si eliges lo segundo postéalo, según su longitud seguramente tendrás mas o menos respuesta

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Feb 2010 04:38 pm
Buenas de nuevo,

AS3 ya lo estoy aprendiendo ^^ lo que passa es que con este codigo no hay manera, y por desgracia no dispongo de mucho tiempo.
lo posteo:

Nota del AS2: la variable "frame" es un subdirectorio de fotos.

AS2:

Código ActionScript :

//Aqui indicamos que use codificasión, por si hay caracteres como ñ, acentos o cosas raras
System.useCodepage = true;
//la carpeta que tiene nuestras fotos, con un nombre medio cambiado por si ya tenemos otra
//carpeta llamada imagenes
var fotos:String = "pictures/"+frame+"/";
//velocidad del efecto entre fotos
var fade:Number = 20;
//primera foto a cargar
var iniciarFoto:Number = 0;
//tiempo que se va a mostrar
var tiempo:Number = 20;
//contador fade
var controlFade:Number = 0;
//contador de tiempo
var controlTiempo:Number = 0;
//creamos un objeto xml porque en definitiva el php nos devolvera un xml
miXML = new XML();
miXML.ignoreWhite = true;
miXML.onLoad = function(ok) {
   if (ok) {
      misFotos_array = this.firstChild.childNodes;
      _root.createEmptyMovieClip("contenedor1_mc", 10);
      _root.createEmptyMovieClip("contenedor2_mc", 20);
      contenedor1_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
      contenedor1_mc._x=140;
      contenedor1_mc._y=300;
      contenedor2_mc._x=140;
      contenedor2_mc._y=300;
      iniciarFoto++;
      contenedor2_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
      contenedor2_mc._alpha = 0;
      curr_mc = 1;
      onEnterFrame = function () {
         if (curr_mc == 1) {
            controlTiempo++;
            if (controlTiempo>=tiempo) {
               curr_mc = 2;
               cambio = "IN";
            }
         }
         if (curr_mc == 2) {
            if (cambio == "IN") {
               contenedor2_mc._alpha += 100/fade;
               if (contenedor2_mc._alpha>=100) {
                  contenedor2_mc._alpha = 100;
                  cambio = "FIJO";
                  controlTiempo = 0;
                  iniciarFoto++;
                  if (iniciarFoto == misFotos_array.length) {
                     iniciarFoto = 0;
                  }
                  contenedor1_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
               }
            }
            if (cambio == "FIJO") {
               controlTiempo++;
               if (controlTiempo>=tiempo) {
                  cambio = "OUT";
               }
            }
            if (cambio == "OUT") {
               contenedor2_mc._alpha -= 100/fade;
               if (contenedor2_mc._alpha<=0) {
                  contenedor2_mc._alpha = 0;
                  curr_mc = 1;
                  controlTiempo = 0;
                  iniciarFoto++;
                  if (iniciarFoto == misFotos_array.length) {
                     iniciarFoto = 0;
                  }
                  contenedor2_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
               }
            }
         }
      };
   }
};
//la url de nuestro PHP que crea un xml
miXML.load(fotos+'lista.php');
//


Nota del PHP: se encuentra una copia dentro de cada subdirectorio de imagenes.
ahora el PHP:

Código PHP :

<?php
$No=array(".","..","lista.php", "borrar.php", "Thumbs.db");
$fp=opendir(".");
echo "<?xml version='1.0' encoding='iso-8859-1'?".">";
echo "<files>";
while (false!==($file=readdir($fp))){
   if ((!in_array($file,$No))&&(is_readable($file))){
      echo "<file name='".utf8_encode($file)."' tamanio='".filesize($file)."' />";
   }
}
closedir($fp);
echo "</files>";
?>




Aunque si alguien tiene algun codigo AS3 que ya lo haga (pasar fotos de un directorio automaticamente en plan diapositivas, no galeria) me podria postear su codigo, y yo cuando tenga mas tiempo ya traduciré el mio con lo que vaya aprendiendo.

Muchas Gracias a la comunidad! :D

Por mred

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Feb 2010 05:42 pm
Pues ya está mas simple: marche un ejemplo de galería de fotos en AS3 (el PHP es el que se encarga de escanear la carpeta y sacar el XML, así que con que se base en AS3+XML es suficiente) o alguien con mas tiempo que este escriba que traduzca el código anterior

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Feb 2010 05:54 pm
Gracias!

Si alguien tiene un ejemplo, pues mejor!
Recordatorio: lo mas simple del mundo, pase de imagenes (estilo diapositivas automaticas) de un directorio.

Yo estoy intentado "traducir" mi codigo de AS2.

Gracias a todos! :wink:

Por mred

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 24 Feb 2010 12:29 pm
Ya esta medio solucionado,
digamos que tengo una version alpha jeje!

ahora tengo unos problemas con el timer, los cuales, he puesto en otro post.
Cuando tengo tiempo, y la version alpha ya funcione al 100% ya la postearé.

Este post puede cerrarse,

Muchas Gracias!!!

Por mred

11 de clabLevel



 

chrome

 

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