asd

30

May

Listar adaptadores de red en AIR 2.0 NetworkInfo

Publicado por: LeoBaraldi

La clase NetworkInfo es nueva dentro del paquete flash.net de Adobe AIR 2.0, esta clase nos permite listar los adaptadores de red que cuente nuestro SO y acceder a la información del mismo para poder manipular o comunicar con algún tipo de cliente o servidor.

Este ejemplo esta confeccionado desde Adobe Flash CS5 que entre esta novedad incluye muchas más que voy a ir ejemplificando.

Actionscript:
  1. //importamos las clases necesarias
  2. import flash.net.InterfaceAddress;
  3. import flash.net.NetworkInfo;
  4. import flash.net.NetworkInterface;
  5.  
  6. //creamos una variable NetworkInfo
  7. var adaptadorInfo:NetworkInfo = NetworkInfo.networkInfo;
  8. //guardamos todos los adaptadore de red en un Vector que es un conjunto
  9. //de elementos del mismo tipo
  10. var adaptadores:Vector.<NetworkInterface> = adaptadorInfo.findInterfaces();
  11.  
  12. //listamos en el panel de salida los datos de nuestros adaptadores de red
  13. if (adaptadores != null)
  14. {
  15.     trace("cantidad de adaptadores:"+adaptadores.length);
  16.     //
  17.     for each (var interfacesObj:NetworkInterface in adaptadores)
  18.     {
  19.         trace("//////////////////////////////////////////////////////");
  20.         trace("Nombre de visualización: "+interfacesObj.displayName);
  21.         trace("Nombre del adaptador: "+interfacesObj.name);
  22.         trace("MAC del adaptador:   "+interfacesObj.hardwareAddress);
  23.         //de esta manera optenemos las ip correspondiente a cada adaptador
  24.         //como tambien el la version de ip
  25.         for each (var direcciones:InterfaceAddress in interfacesObj.addresses)
  26.         {
  27.             trace("     ip ---> "+direcciones.address);
  28.             trace("     ip versión ---> "+direcciones.ipVersion);
  29.         }
  30.         trace("Estado: "+interfacesObj.active);
  31.         trace("Unidad máxima de transmición: "+interfacesObj.mtu);
  32.     }
  33. }
  34. else
  35. {
  36.     trace("no hay adaptadores de red en su sistema");
  37. }

17

Abr

Selectores CSS 2 para Internet explorer 7+

Publicado por: LeoBaraldi

Ya que Últimamente Internet Explorer 6 esta siendo decantado por la mayoría de los usuarios, hay selectores de css2 que podes hacer uso habitual solucionando o haciéndonos mas fácil la vida del maquetador!

Sintaxis Descripción ie6 ie7 ie8
A > B Elementos B que sean hijos de X
Ejemplo:
h1>p{
color:#FF0000;
}
Todos los parrafos que esten luego de un titulo seran de color rojo.
No Si Si
.clase1.clase2.clase3 Utilizacion de multiples clases.
Ejemplo:
<p class="clase1 clase2 clase3">Hola</p>
No Si Si
A[href] Elementos que tengan el atributo especificado
Ejemplo:
<a href="xxx">
No Si Si
A+B Este a diferecnia de A>B aplica los cambios solo al primer hermano.
Ejemplo:
h1+p{
color:#FF0000;
}
Solo sera rojo el primer parrafo despues de un titulo
No Si Si
A:hover B Elemento y hijo de X en el momento del over sobre éste.
Ejemplo:

tr:Hover td{
Color:#FF0000;
}

No Si Si
X:first-child:hover Se aplica al situarse sobre el primer elemento hijo de X
td:first-child:hover{
Color:#FF0000;
}
No Si Si
X:hover Se aplica al situarse sobre el elemento
Ejemplo:
a:hover{
Color:#FF0000;
}
No Si Si
X:first-child Elemento X que es el primer hijo de su elemento padre
tr td:first-child{
Color:#FF0000;
}
No Si Si
X:focus Elementos que estén en foco
a:focus{
Color:#FF0000;
}
No No Si
#X:before
#X:after
Generan contenido antes o después del elemento X No No Si
categorias: CSS Coment.: -

21

Mar

Caurina Tweener, movimiento, transiciones desde actionscript

Publicado por: LeoBaraldi

El paquete caurina cuenta con clases escritas para actionscript 2 o 3 que nos facilitara la tarea de realizar movimientos de objetos o efectos de transiciones de manera muy fácil, cuenta con una extensa documentación de uso y también disponible para otros lenguajes como javaScript o C++. Primero lo que debemos hacer es descargar el paquete, colocamos la carpeta caurina donde tenemos nuestro archivo fla e importamos la clase.
Para el ejemplo construimos un mc con el nombre de instancia cuadrado_mc

Movimiento simple lineal

Actionscript:
  1. //importamos la clase
  2. import caurina.transitions.Tweener;
  3. //evento del mouse sobre el cuadrado
  4. cuadrado_mc.addEventListener(MouseEvent.MOUSE_UP,mover);
  5. //
  6. function mover(e:MouseEvent):void {
  7. //ejecutamos el movimiento en el eje x 200px desde donde se encuentre el cuadrado con una velocidad total de 1 seg . En este ejemplo el objeto a mover esta puesto “e.target” que es el cuadrado, pero podria ir el nombre de la instancia de otro objeto.
  8.  
  9. Tweener.addTween(e.target, {x:200, time:1, transition:"linear"});
  10. }

Caurina cuenta una lista muy completa de tipos de transiciones, puedes consultar dicha lista con ejemplos descargando el pdf o swf con la muestra.

Movimiento en varios ejes

Actionscript:
  1. import caurina.transitions.Tweener;
  2. cuadrado_mc.addEventListener(MouseEvent.MOUSE_UP,mover);
  3. function mover(e:MouseEvent):void {
  4. // simplemente se agrego un eje mas a los parametros y 100px
  5. Tweener.addTween(e.target, {x:200,y:100, time:1, transition:"linear"});
  6. }

Retrazar una propiedad en segundos

Actionscript:
  1. import caurina.transitions.Tweener;
  2. cuadrado_mc.addEventListener(MouseEvent.MOUSE_UP,mover);
  3. function mover(e:MouseEvent):void {
  4. Tweener.addTween(e.target, {x:200, time:0.5, transition:"easeInSine"});
  5. // la propiedad delay retraza el movimiento en y en 0.5 seg, para que se complete el recorrido en x
  6. Tweener.addTween(e.target, {y:100, time:1, transition:"easeInSine",delay:1});
  7. }

Detectar evento de inicio y finalización de la transición.

Actionscript:
  1. import caurina.transitions.Tweener;
  2. cuadrado_mc.addEventListener(MouseEvent.MOUSE_UP,mover);
  3. function mover(e:MouseEvent):void {
  4. Tweener.addTween(e.target, {x:200, time:1, transition:"easeOutQuint",onStart:comenzo,onComplete:finalizo});
  5. }
  6.  
  7. function comenzo ():void {
  8. trace("comenzo")
  9. }
  10. function finalizo ():void {
  11. trace("finalizo")
  12. }

Pasar parámetros a una función

Actionscript:
  1. import caurina.transitions.Tweener;
  2. cuadrado_mc.addEventListener(MouseEvent.MOUSE_UP,mover);
  3. function mover(e:MouseEvent):void {
  4. // en este ejemplo pasamos la cadena hola cuando se completa el movimiento, también puede pasar un parámetro cuando inicia el movimiento utilizando onStartParams en ves de onCompleteParams, porsupuesto que la funcion a llamar sera con la propiedad onStart
  5. Tweener.addTween(e.target, {x:200, time:1, transition:"easeOutQuint",onComplete:finalizo,onCompleteParams:["hola"]});
  6. }
  7.  
  8. function finalizo (parametro:String) {
  9. trace(parametro)
  10. }

El paquete caurina cuenta con muchísimas mas propiedades y funciones que iré ampliando en este mismo post, mientras pueden ver la referencia completa.
En los archivos para descargar les dejo estas pruebas y sus respectivos fla en cs4, y en ver ejemplo les dejo un sitio que utiliza caurina en sus transiciones y objetos.

21

Mar

Como utilizar o importar clases en actionscript

Publicado por: LeoBaraldi

Cuando decidí ir colocando clases tanto mías como de terceros para compartirlas con ustedes, me llegaron muchas consultas de cómo importarlas?, unos de los problemas mas grabe que cometemos los que estamos en el tema es que damos muchas cosas por sabidas y olvidamos de explicar los pasos o fundamentos básicos del porque de las cosas, así que este post es como un pedido de disculpas de cierta manera :) , voy a ir repasando los post y colocando cosas mas básicas y útiles junto a contenidos mas avanzado así es mas democrático!!!

¿Que es una clase?
Podríamos decir que una clase es un constructor de objetos que se basa en pautas ya establecidas o que se deban asignar (propiedades), pero en definitiva el resultado será un nuevo objeto con propiedades y métodos (funciones) listo para utilizar.

Por ejemplo si tuviéramos una fabrica de mesas, en vez de tener que pensar como esta compuesta la mesa a la hora de crear cada nueva mesa, e ir haciendo paso a paso el ensamblaje a medida que vamos relacionando las partes, nos daríamos cuenta que seria mucho mas útil si implementáramos un plano o croquis, donde ese plano indique los elementos básico como debe situarse por ejemplo las patas, la tapa, etc. En el mismo plano seguro que podremos indicar que partes de las mesas deberían poder ser personalizada (propiedades), por ejemplo el color. Este modelo lineal de establecer los pasos para construir una mesa podríamos repetirlo miles de veces con cada mesa logrando una serialización donde si quisiéramos agregar o modificar un paso en vez de hacerlo con cada mesa simplemente lo indicamos en el plano. De la misma manera funciona una clase, el constructor “new” siempre da origen un objeto nuevo con sus propiedades y métodos (funciones) listo para ser utilizado. Normalmente muchas veces harán uso del mismo, por ejemplo cuando creamos un movieClip desde actionscript: var miPeli:MovieClip = new MovieClip(), este es un claro ejemplo en el uso de clases, donde creamos un nuevo objeto MovieClip con todas sus propiedades y funciones listo para ser utilizado.

Aclaro que el mundo de las clases es muchisimo mas que esto, pero la idea es que mas o menos puedan entender el porque y que es una clase de manera simple.
Dado esto veremos que al programar abra tareas repetitivas donde seria bueno delegar dicha tarea a una clase, por ejemplo si requerimos hacer una mascara para un mc, sabemos que necesitamos un recuadro, no seria muy complicado crearlo, con solo unas 4 a 6 líneas estaría todo listo, pero si dichas líneas de código la implementáramos en una clase aislada para la función crear recuadro, en una sola línea podríamos implementarla, por ejemplo var mask:Recuadro = new Recuadro(100,100,0xFF0000); Esta sola línea hace referencia (instancia) a un nuevo objeto Recuadro con las propiedades 100 px de ancho, 100 px de alto y de color rojo y de esta manera podríamos crear cuantos recuadros quisiéramos de una manera mucho mas fácil y controlable.

¿Como importo una clase?
Si la clase se encuentra en la raíz de nuestro archivo fla, simplemente utilizando la sentencia: import nombredelaClase desde el panel acciones (F9), si en cambio la clase esta dentro de una carpeta deberíamos indicar la ruta de la misma: import carpeta. nombredelaClase, el punto es el conector para navegar por las carpetas.

Una vez importada la clase ya esta disponible para utilizarla, ejemplo:

Importamos la clase DrawCircle.as > import DrawCircle;
Creamos un nuevo objeto > var circulo:DrawCircle = new DrawCircle(100,100,20,0xFF0000)

Las propiedades y métodos de cada clase serán particularidades según el caso, por eso es bueno siempre al utilizarlas ver cuales son sus métodos y propiedades admitidas en los documentos de referencia.

22

Feb

Numero random según rango – Number – clase de actionscript 3

Publicado por: LeoBaraldi

Clase:

Actionscript:
  1. package {
  2.     /**
  3.      * ...
  4.      * @author LeoBaraldi
  5.      //ejemplo> Randomize.getRandom(10,100)
  6.      */
  7.     public class Randomize {
  8.         public static function Random(_min:Number, _max:Number):Number {
  9.             var num:Number = Math.floor(Math.random() * (_max - _min + 1)) + _min;
  10.             return num;
  11.         }
  12.     }
  13. }

Uso:

Actionscript:
  1. import Randomize
  2. trace(Randomize.Random(0,100))

21

Feb

Dibujar circulo – Sprite – clase de actionscript 3

Publicado por: LeoBaraldi

En esta sección iré colocando todas las clases que fui recolectando tanto mías como de terceros que me parecieron útiles para automatizar los procesos de programación en Adobe Flash, Flex o AIR.
Todas las mejoras que se les ocurra estaría bueno que las compartan así las publicamos y actualizamos periódicamente.

La siguiente clase es muy simple, pero no menos importante. La misma dibuja un circulo en un Sprite pasándole posición, tamaño y color de relleno.

Clase

Actionscript:
  1. package {
  2. import flash.display.Graphics;
  3. import flash.display.Sprite;
  4. /**
  5. * ...
  6. * @author LeoBaraldi
  7. */
  8. public class DrawCircle extends Sprite {
  9. private var clip:Sprite;
  10. private var posX:uint;
  11. private var posY:uint;
  12. private var radius:Number;
  13. private var bgColor:uint;
  14. /*
  15. param:
  16. _posX: posición en X =&gt; px
  17. _posY: posición en Y =&gt; px
  18. _radius: tamaño del circulo =&gt; px
  19. _bgColor: color del circulo =&gt; 0xFF0000
  20. */
  21. public function DrawCircle(_posX:uint, _posY:uint, _radius:Number, _bgColor:uint):void {
  22. posX=_posX;
  23. posY=_posY;
  24. radius=_radius;
  25. bgColor=_bgColor;
  26. drawCircle();
  27. }
  28. private function drawCircle():void {
  29. clip = new Sprite();
  30. clip.graphics.beginFill(bgColor);
  31. clip.graphics.drawCircle(posX, posY, radius);
  32. addChild(clip);
  33. }
  34. }
  35.  
  36. }

Ejemplo de uso:

Actionscript:
  1. import DrawCircle;
  2. var circulo:DrawCircle = new DrawCircle(100,100,20,0xFF0000)

Leonardo David Baraldi

Leonardo Baraldi

Nací en Villa Carlos Paz, tengo 33 años y me dedico a desarrollos para la web desde el año 99, preferentemente en las aéreas de ActionScript y CSS. Trabajo para la firma Manifesto Solutions como jefe de producción.

ultimos post

Usa Firefox es mejor che!!!
Copyright © 2008 LeoBaraldi. Todos los derechos reservados.
Designed by LeoBaraldi and powered by Wordpress | RSS Feed
Love WordPress
Manifesto
Manifesto solutions
Sponsort Oficial de LeoBaraldi