Comunidad de diseño web y desarrollo en internet online

Orientandose en Flash con Diagramación Líquida

Bueno, no se si soy el único que ha tenido este problemita, pero como me he estado partiendo la cabeza un par de días para intentar resolverlo y todos los gurus de flash que ponían tutoriales no tocaban puntualmente el tema (será que era demasiado obvio y yo soy un newbie XD ).

Entonces, de lo que quiero hablarles pequeños es "Como demonios se yo donde esta el punto 0 de una película flash cuando estoy empleando un Stage.scaleMode = "noScale";" ?

Bien, lo primero resolver un pequeño misterio, flash, cuando le ordenamos que ajuste el scaleMode sea noScale (es decir que no distorcione los tamaños de los mc), tiende a centrar la película. Por ende, si nuestra película mide 500 pixeles de ancho, cuando el Stage (o FlashPlayer, como quieran decirle) mide 600 pixeles de ancho, el punto 0 de la película se encuentra en -50. Esto hace que si por ejemplo ajustasemos el mc que usamos de fondo de la web, se "desplace" en la pantalla.

Entonces, existen miles de formas para resolver esto, la forma rápida y a prueba de idiotas (usease yo) es esta:

Código :

Stage.scaleMode = "noScale";
function posicionar(){
   ceroX = (1000 - Stage.width)/2;
   ceroY = (560 - Stage.height)/2;
   cont._x = ceroX + 5;
   cont._y = ceroY + 5;
   cont._width = Stage.width - 10;
   cont._height = Stage.height - 10;
}
var stageListener:Object = new Object();
stageListener.onResize = function(evt:Object) {
   posicionar();
}
Stage.addListener(stageListener);
posicionar();


Como se puede ver, le asigno a cont (que es un recuadro gris) la posición basandome en las variables ceroX y ceroY, de forma que no importa que tanto se distorcione o varíe el Stage, su posición siempre será la del punto cero que ve el usuario y no el original (que andará por China o Estambul XD ).

Deniam

P.D.: En el ejemplo se ve que a los valores sumo o resto 5 o 10, esto es para que el recuadro gris deje un margen de 5 pixeles.

¿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