¿Cómo hace el flash que las cosas caigan del cielo?
Paquete {
Importar visualización flash.
Importar visualización flash. stage;
Importar eventos flash.timer;
Importar flash. utils.
Abrir clase, está lloviendo. Extendsprite {
Var privada escena:escenario;
Temporizador var privada: temporizador = nuevo temporizador(10);
Var privada aleatoria: int = 0;
Estilo de var privada: int = 0;
Matriz de var privada: Array = new Array
Eliminación de var privada: Timer = new Timer(1000); p>
Tiempo de var privada: int = 0;
Intervalo de var privada: int = 0;
Valor mínimo de var privada: int=0
Valor máximo de la variable privada: int=0
Componente de gota de lluvia de la variable privada: MovieClip
Lluvia en la función pública (MC 1: escenario, MC_1: clip de película, MC2: int, MC3: int, MC4: int, MC5: int, MC6: int) {
escena = MC 1;
Aleatorio = mc2
Estilo = mc3
Intervalo = mc4
Valor mínimo = mc5
Valor máximo = mc6
Elemento gota de lluvia=mc_1
init() ;
}
Función privada init(): void {
Temporizador. AddeventListener(evento del temporizador. temporizador, empieza a llover);
inicio del temporizador()
Eliminar. addeventlistener(evento del temporizador. temporizador, iniciar destrucción);
Eliminar. start();
}
Función privada start destroy(i: evento de tiempo): {
tiempo no válido;
if( tiempo >; = intervalo) (
For(variable I en matriz){
Array[i].x =-1000;
} p >
Eliminar. stop();
timer. stop();
Timer. removeeventlistener (timerevent. timer, empieza a llover);
Eliminar . removeeventlistener(evento del temporizador. temporizador, comienza a destruir);
}
}
La función privada comienza a llover (yo: TimerEvent): void {
//trace(componente gota de lluvia)
Var lluvia: MovieClip=nueva lluvia(componente gota de lluvia);
Está lloviendo x=.Math.random() *Escena. Ancho del escenario;
Matriz.
Push(lluvia);
Agregar lluvia auxiliar (escena, lluvia, aleatoriedad, estilo, valor mínimo, valor máximo);
}
}
}
Importar flash.display.BitmapData
Importar flash.display.Bitmap
Extensión tipo lluvia MovieClip{
Var privada llovizna de mapa de bits: BitmapData
Variable privada pequeña: Bitmap
Var privada es muy grande: MovieClip
Función pública lluvia (mc1: MovieClip) {
Mapa de bits Xiaoyu = nuevos datos de mapa de bits (100, 100)
Mapa de bits Xiaoyu.draw (mc1)
Pequeño = nuevo mapa de bits (lluvia de mapa de bits)
This.addChild(little)
}
Función pública destroy(): void{
Mapa de bits llovizna=null
Pequeño =null;
}
}
Importar visualización flash;
Importar visualización de película flash;
p>
Importar eventos de flash.
Importar utilidades de flash.
Importar etapa auxiliar. lluvia extiende Sprite {
Escena var privada: escenario
lluvia var privada: clip de película
Temporizador var privado: temporizador = nuevo temporizador(10);
Velocidad de caída de var privada: int = 0;
Var privada aleatoria: int = 0
Estilo de var privada: int = 0;
Valor mínimo de var privada: int=0
Valor máximo de var privada: int = 0;
Función pública auxiliar Rain ( mc1: stage, mc2: movieclip, mc3: int , mc4: int, mc5: int, mc6: int) {
escena = MC 1;
Lluvia = mc2
Aleatorio = mc3
Grace = mc4
Valor mínimo = mc5
Valor máximo = mc6
init()
}
Función privada init(): void {
Velocidad descendente = math . random()* random 5;
Dispositivo de cronometraje. AddEvent oyente(timer event. timer, comienza a moverse);
timer start();
Está lloviendo. ancho = lluvia. height=Math.random() *Valor máximo Valor mínimo;
Está lloviendo. alpha=Velocidad de descenso/Aleatorio 1;
//trace(Velocidad de descenso/25)
Escenario. addChild(Rain);
}
La función privada comienza a moverse (yo: TimerEvent): void {
me updateafterevent();
Está lloviendo. y = velocidad de caída;
Está lloviendo.
x = gracia;
si (está lloviendo. y > escena. altura del escenario) {
Está lloviendo. destruir()
destruir();
//trace ("destruido")
}
}
Función privada destruir(){
Escenario. eliminar niño(lluvia);
temporizador . stop();
Temporizador. removeeventlistener (timerevent. timer, comienza a moverse
//trace ("destruido")
}
}
Uso Muy simple:
var SD: clip de película = nuevas gotas de lluvia ()
nuevo (etapa, SD, 10, 0, 60, 5, 10) llovió