iberclan
Member
- Messages
- 400
- Reaction score
- 0
- Points
- 16
Bueno,pondré en este hilo,varios tutoriales a lo largo,para hacer cosas muy guapas en nuestras webs,que a mas de uno le interesara
La nueva Clase FxOndular no esta con el pack de cfx por lo que para conseguirla tendrán que descargase el archivo de ejemplo que lo lleva exclusivamente, en la próxima actualización del pack cfx incluirá esta nueva clase junto a nuevas modificaciones en los efectos anteriores.
Primero vamos a crea un efecto de bandera para ello vinculamos en la biblioteca nuestra imagen en este caso se a puesto de nombre Bandera
Con este simple código tendrán un efecto similar al del ondular de una bandera, pero hace fata añadir un poco de sombra para darle mas realismo así que se puede hacer de esta forma
El resultado es como lo que esta arriba, también les recomiendo que mires este programa donde se aplican algunas combinaciones adicionales al efecto ENLACE
Descargar archivo de ejemplo
FUENTE
-------------------------------------------------------------------------------------------------------------------------------------
La siguiente clase genera un "detector de inactividad" del ratón. Básicamente consta de dos funciones: "ratonMovido", que se ejecuta cuando se mueve el ratón y pone a 0 el tiempo que ha pasado desde la última vez que se movió el ratón, y "ratonParado", que se ejecuta cuando ha pasado un tiempo t sin movimiento del ratón.
-------------------------------------------------------------------------------------------------------------------------------------
Esta clase, explica paso a paso como hacer en AS3 una carga de imágenes que van rotando cada cierto tiempo. Para ello se almacenan las urls en una matriz y se van cargando los archivos cada cierto tiempo.
FUENTE
Efecto de bandera para ActionScript 3.0
La nueva Clase FxOndular no esta con el pack de cfx por lo que para conseguirla tendrán que descargase el archivo de ejemplo que lo lleva exclusivamente, en la próxima actualización del pack cfx incluirá esta nueva clase junto a nuevas modificaciones en los efectos anteriores.
Primero vamos a crea un efecto de bandera para ello vinculamos en la biblioteca nuestra imagen en este caso se a puesto de nombre Bandera
Code:
import cfx.Efectos.*;
var neBandera=new FxOndular(new Bandera(0,0),new [URL="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html&filter=0&num=100&btnI=lucky"]Point[/URL](0,50),new [URL="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html&filter=0&num=100&btnI=lucky"]Point[/URL](2,2),8,0.8);
neBandera.Start();
addChild(neBandera)
Code:
import cfx.Efectos.*;
var neBandera=new FxOndular(new Bandera(0,0),new [URL="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html&filter=0&num=100&btnI=lucky"]Point[/URL](0,20),new [URL="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html&filter=0&num=100&btnI=lucky"]Point[/URL](2,2),8,0.8);
neBandera.Start();
var img:[URL="http://www.google.com/search?q=bitmapdata%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bitmapdata.html&filter=0&num=100&btnI=lucky"]BitmapData[/URL]=neBandera.Map
var sombra:[URL="http://www.google.com/search?q=bitmapdata%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bitmapdata.html&filter=0&num=100&btnI=lucky"]BitmapData[/URL]=neBandera.MapRuido
var bitmap:[URL="http://www.google.com/search?q=bitmap%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bitmap.html&filter=0&num=100&btnI=lucky"]Bitmap[/URL]=new [URL="http://www.google.com/search?q=bitmap%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:bitmap.html&filter=0&num=100&btnI=lucky"]Bitmap[/URL](img)
addChild(bitmap)
bitmap.x=250-(bitmap.width/2)
bitmap.y=150-(bitmap.height/2)
addEventListener([URL="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html&filter=0&num=100&btnI=lucky"]Event[/URL].ENTER_FRAME,mescla)
function mescla(event:[URL="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html&filter=0&num=100&btnI=lucky"]Event[/URL]):void{
sombra.draw(sombra,null,null,"overlay")
img.merge(sombra,img.rect,new [URL="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html&filter=0&num=100&btnI=lucky"]Point[/URL](),120,120,120,0)
}
Descargar archivo de ejemplo
FUENTE
-------------------------------------------------------------------------------------------------------------------------------------
Detectar la inactividad del ratón con Flash Actionscript 3.0
La siguiente clase genera un "detector de inactividad" del ratón. Básicamente consta de dos funciones: "ratonMovido", que se ejecuta cuando se mueve el ratón y pone a 0 el tiempo que ha pasado desde la última vez que se movió el ratón, y "ratonParado", que se ejecuta cuando ha pasado un tiempo t sin movimiento del ratón.
Code:
package{
import flash.display.Sprite;
public class DetectorInactividad extends Sprite{
import flash.events.MouseEvent;
import flash.utils.*;
private var inactivo;
private var t:Number = 10000;
public function DetectorInactividad():void{
stage.addEventListener(MouseEvent.MOUSE_MOVE,ratonMovido);
inactivo = setTimeout(ratonParado,t);
}
private function ratonMovido(e:MouseEvent):void{
clearTimeout(inactivo);
inactivo = setTimeout(ratonParado,t);
}
private function ratonParado():void{
trace("El ratón no se ha movido durante más de " + t + " milisegundos");
}
}
}
-------------------------------------------------------------------------------------------------------------------------------------
Imágenes rotativas en AS3
Esta clase, explica paso a paso como hacer en AS3 una carga de imágenes que van rotando cada cierto tiempo. Para ello se almacenan las urls en una matriz y se van cargando los archivos cada cierto tiempo.
Code:
package{
import flash.display.*;
public class ImagenRotativa extends MovieClip{
import flash.events.Event;
import flash.net.*;
import flash.utils.*;
//Esta es la matriz que contiene las urls de todas las fotos
var fotos:Array = ["001.jpg","002.jpg","003.jpg","004.jpg"];
//En esta variable se almacena el valor del indice de la última URL cargada. El valor 0
//es el índice de "001.jpg", el 1 seria el de "002.jpg" y así sucesivamente.
var actual:int = 0;
//Aquí se almacena la última foto cargada
var ultimaCargada;
public function ImagenRotativa(){
//La función ImagenRotativa, que toma su nombre de la clase, se ejecuta al crearse el
//objeto de la clase. Cuando se crea el objeto, le decimos que se ejecute cargarImagen por
//primera vez.
cargarImagen();
}
private function cargarImagen():void{
/*
Esta es la función que se encarga de cargar las imágenes. Lo primero es crear un objeto Loader
para cargar en él las fotos. Una vez creado se le añade un Listener que nos permita saber cuando ha
terminado de cargarse el archivo. Con esta linea:
cargador.contentLoaderInfo.addEventListener(Event.COMPLETE,imagenCargada);
estamos diciendo que queremos que se ejecute la función imagenCargada, cuando se ejecute el evento
complete de cargador.
*/
var cargador:Loader = new Loader();
cargador.contentLoaderInfo.addEventListener(Event.COMPLETE,imagenCargada);
/*
Creo la petición y le digo a cargador que la haga. Con esta instrucción:
fotos[actual], le estoy diciendo que coja el elemento de la matriz fotos, cuyo índice es = a actual
*/
var peticion:URLRequest = new URLRequest(fotos[actual]);
cargador.load(peticion);
}
private function imagenCargada(e:Event):void{
/*
Esta es la función que se ejecuta cuando la imagen se ha cargado. Lo primero que veo es si ya se había cargado
alguna foto:
ultimaCargada != null
y si es así, la elimino, para que las fotos no vayan apilándose en la escena.
Después, guardo el contenido cargado en la variable ultimaCargada, y lo añado al escenario:
ultimaCargada = e.target.content;
addChild(ultimaCargada);
Ahora hay que aumentar actual. Hay que tener en cuenta, que actual no puede ser mayor que la longitud de la
matriz de fotos. Aquí, por ejemplo, si actual fuera 1000, cuando buscaramos en el índice 1000 de la matriz fotos, no
encontrariamos ningún elemento. Es decir, hay que aumentar actual hasta que llegue al máximo, y entonces volver a empezar:
(actual = 0).Eso es lo que hacemos con esta linea:
actual = (actual==fotos.length-1)?0:actual+1;
Por último, le decimos que cargue otra foto en dos segundos:
setTimeout(cargarImagen,2000);
donde 2000 es el tiempo en ms.
*/
if(ultimaCargada != null){
removeChild(ultimaCargada);
}
ultimaCargada = e.target.content;
addChild(ultimaCargada);
actual = (actual==fotos.length-1)?0:actual+1;
setTimeout(cargarImagen,2000);
}
}
}
FUENTE
Last edited: