Comunidad de diseño web y desarrollo en internet online

Crea contenido HTML5 desde Flash con Adobe Wallaby

Adobe sacó recientemente una versión de prueba de Wallaby, que permite ,con una interfaz muy básica, cargar un archivo FLA para luego convertirlo en HTML5. Si bien es cierto, esta herramienta es experimental, nos permite pasar nuestras animaciones a HTML5 que puedes probar en navegadores con un motor de renderizado Webkit (Chrome, Safari, Ipad, Iphone, etc).


Lo feo

Sin embargo, al ser una versión de prueba, aun sigue teniendo problemas con los archivos complejos de Flash, así como no soportar:
  • ActionScript.
  • MovieClip.
  • Sonidos.
  • Eventos de Botón.
  • Filtros.
  • Kinematics.
  • Vídeo.
  • entre otros.

Como dije, aun es muy básico, pero no dudamos que irán implementando poco a poco más cosas.

La novedad


Al convertir tu archivo .FLA a HTML5, obtendrás:
  • Un archivo HTML5.
  • Un archivo jquery-1.4.2.js.
  • Una carpeta assets.
  • Un archivo css.
  • Un archivo js.

Veamos un poco de lo que trae


Podemos observar que para los vectores usa archivos SVG y para el tema de javascript usa JQuery. Ahora veamos el archivo html de una animación que hice:

Código :

<!DOCTYPE html> 
<!-- Created with Adobe(R) technology --> 
<html> 
  <head> 
    <meta charset="utf-8"></meta> 
    <link href="animar.css" type="text/css" rel="stylesheet"></link> 
    <script type="text/javascript" src="jquery-1.4.2.js"></script> 
    <script type="text/javascript" src="animar.js"></script> 
  </head> 
  <body> 
    <div class="wlby_movie"> 
      <div class="wlby_1"> 
        <!-- Start of symbol: Tween 1 --> 
        <img src="animar_assets/svgblock_0.svg" class="wlby_2"></img> 
        <!-- End of symbol: Tween 1 --> 
      </div> 
    </div> 
  </body> 
</html>


Y el código JS es:

Código :

function wlby_calc_timeout(c) {
    var timeout = (new Date).getTime();
    while (c) {
        timeout += parseFloat(getComputedStyle(c)['-webkit-animation-duration']) * 1000;
        c.timeout = Math.round(timeout);
        c = c.nextElementSibling;
    }
}
var wlby_hide_children = function(self) {
    var c = self.firstElementChild;
    while (c) {
        c.style.display = 'none';
        c = c.nextElementSibling;
    }
}
var wlby_activate_sibling = function(evt, self) {
    if (evt.srcElement != self)
        return;
    if (self.style.display == 'none')
        return;
    if (!self.timeout)
        wlby_calc_timeout(self);
   self.style.display = 'none';
    var sibling = self.nextElementSibling;
    if (!sibling)
        return;
    while ((sibling.timeout < evt.timeStamp)&&sibling.nextElementSibling)
        sibling = sibling.nextElementSibling;
//    $('.wlby_fs', sibling).css('display', 'none');
//    var n = new Number((sibling.timeout - (new Date).getTime()) / 1000);
//    sibling.style.webkitAnimationDuration = n.toString() + 's';
    sibling.style.display = 'block';
};
var wlby_activate_children = function(evt, self) {
    if (evt.srcElement != self)
        return;
    wlby_hide_children(self);
    var c = self.firstElementChild;
   if(!c)
      return;
//    $('.wlby_fs', c).css('display', 'none');
    wlby_calc_timeout(c);
    c.style.display = 'block';
   c.style.webkitAnimationDelay = '';
}
var wlby_loop_children = function(evt, self) {
    if (evt.srcElement != self)
        return;
    wlby_activate_children(evt, self);
    var c = self.firstElementChild;
    if (!c)
        return;
    c.style.webkitAnimationDelay = '0s';
}
$(document).ready(function() {
    $('.wlby_sprite').each(function()
      { this.addEventListener('webkitAnimationIteration', function(evt) { wlby_loop_children(evt, this); return false; }, false, false) });
    $('.wlby_sprite, .wlby_graphic').each(function()
      { this.addEventListener('webkitAnimationStart', function(evt) { wlby_activate_children(evt, this); return false; }, false, false) });
    $('.wlby_fs').each(function()
      { this.addEventListener('webkitAnimationEnd', function(evt) { wlby_activate_sibling(evt, this); return false; }, false, false) });
});


El código CSS:

Código :

div.wlby_movie
{
   overflow: hidden;
   position: absolute;
   left: 0px;
   top: 0px;
   width: 550px;
   height: 400px;
}
.wlby_text p { padding: 0; margin: 0; }

a.wlby_classic-link { color: inherit; text-decoration: none; }
a.wlby_classic-link:link { color: inherit; text-decoration: none; }
a.wlby_classic-link:hover { color: inherit; text-decoration: none; }
a.wlby_classic-link:active { color: inherit; text-decoration: none; }
a.wlby_classic-link:visited { color: inherit; text-decoration: none; }

a.wlby_tlf-link { color: inherit; text-decoration: none; }
a.wlby_tlf-link:link { color: inherit; text-decoration: none; }
a.wlby_tlf-link:hover { color: inherit; text-decoration: none; }
a.wlby_tlf-link:active { color: inherit; text-decoration: none; }
a.wlby_tlf-link:visited { color: inherit; text-decoration: none; }

.wlby_button > * { visibility: hidden; }
.wlby_button > .wlby_button_normal { visibility: visible; }
.wlby_button:hover > .wlby_button_normal { visibility: hidden; }
.wlby_button:hover > .wlby_button_hover { visibility: visible; }
.wlby_button:active > .wlby_button_normal { visibility: hidden; }
.wlby_button:active > .wlby_button_hover { visibility: hidden; }
.wlby_button:active > .wlby_button_active { visibility: visible; }

@-webkit-keyframes wlby_frameset-animation {
   from { }
   to { }
}

.wlby_fs, .wlby_graphic 
{
   -webkit-animation-name: wlby_frameset-animation;
}

.wlby_graphic 
{
   -webkit-animation-duration: 1s;
}

.wlby_masked 
{
   height: inherit;
   position: inherit;
   width: inherit;
}

.wlby_sprite 
{
   -webkit-animation-name: wlby_frameset-animation;
   -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes wlby_KF_3 {
from {
   -webkit-transform: matrix(1, 0, 0, 1, 73, 186);
   opacity: 1;
}
95% {
   -webkit-transform: matrix(1, 0, 0, 1, 487.95, 186);
   opacity: 1;
}
95.01%, to {
   -webkit-transform: matrix(1, 0, 0, 1, 487.95, 186);
}
}
.wlby_2
{
   position: absolute;
   -webkit-transform: matrix(1, 0, 0, 1, -46.5, -46.5);
}

.wlby_1
{
   -webkit-animation-duration: 0.833333s;
   -webkit-animation-name: wlby_KF_3;
   -webkit-animation-iteration-count: infinite;
   -webkit-transform: matrix(1, 0, 0, 1, 487.95, 186);
   -webkit-transform-origin: 0px 0px;
   -webkit-animation-timing-function: linear;
}
Si quieres saber más sobre esta herramienta, entra al labs de adobe y busca Wallaby.

http://labs.adobe.com/technologies/wallaby/

Update:


Aquí está el ejemplo de este post:



Aquí puedes ver la animación generada, RECUERDA verlo desde safari o chrome.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro

Entra al foro y participa en la discusión

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate