Archives For Actionscript

AS2 y AS3, recursos y ejemplos

Digamos que se quiere saber si es que un movieclip esta siendo visto desde un sitio web (osea, desde el servidor web) o en la pc (osea, localmente).

Este script seria util:

if (this._url.indexOf("http://", 0) == -1) {
	isLocal= true;
} else {
	isLocal= false;
}

si isLocal es «true» entonces el swf esta siendo visto localmente. Tiene varios usos;por ejemplo, bloquear el progreso de la pelicula si no esta siendo vista desde un sitio web:

if (this._url.indexOf("http://", 0) == -1) {
	stop()
} else {
	this.gotoAndPlay("animation")
}

cool: conejo loco

septiembre 20, 2004

un clasico realmente, y una maravilla de actionscript aplicado a la animacion. Un conejo que piensa que el cursor es una zanahoria. cuidado lo atrapa porque no suelta:
http://andrius.esu.lt/10/go2.htm

Como ya se conoce, el unico tipo de imagenes que flash puede cargar dinamicamente es JPG (non progressive). Y que pasa si necesito cargar un gif o un png? Pues Mario Klingelmann tiene la solucion: llamar a un script de php, que dinamicamente crea un swf con la imagen seleccionada (un ejemplo).
Puedes bajarlo siguiendo este link. Lo ha liberado bajo licencia GPL.

O si deseas una solución comercial, puedes ir a img2swf.com/ donde puedes adquirir algo similar hecho en .NET por 99usd.

Mas info: post en Quasimondo

revisando codigo

agosto 25, 2004

Nuevamente pongo el pequeño script que encontre en un blog, y use de ejemplo en mi post anterior:

for (var i=0; i<10; i++){
 	var clip = this.createEmptyMovieClip("clip"+i, i);
 	clip.id = i;
}

Hay otras formas de asignar la variable id a la nueva peli:
En este caso, ya no necesitamos crear una variable

for (var i=0; i<10; i++){
 	this.createEmptyMovieClip("clip"+i, i);
 	this["clip"+i] = i;
}

o en este caso, asignamos la variable id justo mientras se crea la peli (aunque para esto hay que crear un nuevo objeto):

for (var i=0; i<10; i++){
        var clipProperties=new Object()
        clipProperties.id=i
 	this.createEmptyMovieClip("clip"+i, i,clipProperties);
}

En fin, los tres codigos tienen la misma utilidad: asignar la variable id a cada instancia de "clip"

Hay otras formas, como cambiar el prototipo, o asignarle una clase al movie "clip", pero a veces complicarse mas no es tan bueno.

Estaba navegando por flashape y me encontre este codigo:

for (var i=0; i<10; i++){
 	var clip = this.createEmptyMovieClip("clip"+i, i);
 	clip.id = i;
}

alto bastante en comun cuando quieres asignar un "id" a la pelicula (le agregas una variable, con su "id"). Ahora sugiere, que para AS2, para hacer esta tarea tan simple, hay que crear una subclase. Pues puede ser, pero no necesariamente, yo consideraria que podemos utilizar algo que por lo general no se toma en cuenta: el nombre de la instancia de la peli! ese podria ser unico, y podría ser el "id" de una pelicula. Ahora, si quieres o necesitas que tu variable "id" sea un numero, pues facil, digamos que uso el siguiente codigo para crear 10 peliculas:

for (var i=0; i<10; i++){
 	 this.createEmptyMovieClip("clip"+i, i);

}

Tendría 10 pelis con distintos nombres: clip0, clip1, clip2,...,clip9. Para mi eso basta y sobra para identificar una peli. Y bueno, si necesitas utilizar solamente el numero, puedes hacerlo cortando la palabra "clip" del nombre de la peli, algo asi:

var miID=this["clip9"]._name.split("clip")[1]

Ahi miID seria igual a 9.

Bueno, no se si a alguien le sea util este truquito, pero a mi me ha resultado muy util.

Patrones de diseño

agosto 24, 2004

buenas explicaciones sobre los siguientes patrones: Singleton,Abstract in AS2,Abstract factory,Command pattern. Estan en frances, para los que no comprendan, igual tienen codigo de ejemplo.

Fuente:actionscripthero

Una mejora increible en Flash Mx 2004 es la posibilidad de usar Hojas de estilo para el texto de una pelicula. Aqui tienen un ejemplo:



El codigo es muy simple:

stilo = new TextField.StyleSheet();
stilo.load("style1.css");
stilo.onLoad = function(ok) {
	if (ok) {
		laotxt.styleSheet = stilo;
		laotxt.htmlText = contenido;
	}
};

El source lo encuentran aqui

Animation Package

agosto 8, 2004

Mas librerias para actionscript 2.

Segun el site:

«AnimationPackage es una libreria de AS2 compatible con Flash Player 6 en adelante. Te ayuda a crear poderosas animaciones y efectos de manera facil y eficiente»

mas info: animation package