Código fuente del juego digital Flash
{
Importar flash .clip de película
Importar eventos flash
//Crear clase. Duck hereda MovipClip
Clase pública Duck extiende MovieClip
{
//Cree las siguientes constantes para representar el ancho y el alto respectivamente.
Ancho constante privado: Número = 550
ALTURA const. privada: Número = 400;
//Velocidad
Var privado _hspeed: Número;
Velocidad var_v privada: Número;
//Dirección
Var_v privada: int;
var_live privada: booleano ;
Private var _ tmpY: Número;
//Valor booleano de si se debe detener el movimiento.
La var pública se puede borrar: booleana
//Variable estática
Puntuación de la var pública estática: Número = 100;
Función pública Duck ()
{
//Detiene el cabezal de reproducción en el primer fotograma.
this .gotoandstop(1);
//Inicializar valor de variable dir = 1;
dir = 1;
// Asignar en vivo a verdadero
this.live = true
//Registrar evento de velocidad de fotogramas
addEventListener(event.ENTER_FRAME, fly);
}
//Función de ejecución de eventos de velocidad de fotogramas
Vuelo de función pública (e: evento): no válido
{
/ /La siguiente declaración condicional es para determinar si el valor de dir es 1 o -1. Es 1 en el lado izquierdo del centro del escenario y -1 en el lado derecho, esto generalmente se usa para controlar la dirección;
if (this.x lt ancho / 2)
{
dir = 1;
}
if (this.x gt ancho - this.width / 2)
{
dir =-1;
}
//Este principio es similar a lo dicho anteriormente.
Si (this.y lt- this.height / 2)
{
this.erasable = true
//Eliminar Eventos de velocidad de fotogramas.
this.removeEventListener(event. ENTER_FRAME, fly);
}
// Deja que el objeto se mueva y la dirección está controlada por dir.
this . x = dir * h velocidad;
this . y = v velocidad;
}
Función pública die(e) :Evento): void
{
this. gotoandstop(2);
//Deja que el objeto gire y la dirección de rotación está controlada por dir. .
this .rotation = dir *(this . y-this. _ tmpY)/10;
//Esta es la coordenada Y de control, pero en realidad es un movimiento de búfer. .
this.y = ((this.y - this._ tmpY)-v velocidad)/10
if (hspeed gt; 0)
{
h velocidad-= h velocidad/10;
}
//Controlar el movimiento
this x = hspeed * dir. ;
Si (this.y gt altura)
{
this.erasable = true
}
}
//Este es un método estático, un método de clase, no una instancia. Tiene cuatro parámetros.
Función pública estática buildDuck(startX: Número, startY: Número, hspd: Número, vspd: Número): Duck
{
//Este método estático Función similar a la clonación, pero diferente a la clonación. Simplemente genere un nuevo objeto Duck y establezca los valores de atributo de x, y, hspeed y vspeed.
var pato: Pato = pato nuevo();
pato.x = inicioX
pato.y = inicioY
pato. hspeed = hspd
duck . v speed = vspd;
Volver a duck;
}
//Establece el valor de atributo hspeed.
Función pública establece hspeed (valor: número): void
{
_ hspeed = valor
}
//Obtiene el valor del atributo hspeed.
Función pública get hspeed(): Número
{
return _ hspeed
}
// Establezca el valor del atributo vspeed.
Función pública establece vspeed (valor: número): void
{
_ vspeed = valor
}
//Obtiene el valor del atributo vspeed.
Función pública get vspeed(): Número
{
return _ vspeed
}
// Establezca el valor del atributo dir.
Función pública establecida dir(valor: int): void
{
_ dir = valor
this . *-1;
}
//Obtiene el valor del atributo dir.
Función pública get dir(): int
{
return _ directorio;
}
/ /La interfaz en vivo externa se utiliza para establecer el valor del atributo en vivo.
Función pública establecida en vivo (valor: booleano): void
{
_ live = valor
if (_live == false )
{
//Asigne un valor a _tmpY aquí. es la coordenada y del objeto actual. De forma predeterminada, este valor no está asignado, se asigna solo si _vive=false.
Esto. _ tmpY = this.y
//Registrar evento de velocidad de fotogramas
this.removeEventListener(event.
ENTER_FRAME, volar);
//Registrar evento de velocidad de cuadros
this.addEventListener(event. ENTER_FRAME, morir);
}
}
//interfaz de atributos externos en vivo. Éste es el valor de la vida.
Función pública get live(): valor booleano
{
Return_live;
}
}
}