Sei sulla pagina 1di 9

ACTION SCRIPT 3.

0
DECLARAR VARIABLES.
var nombre:Tipo;
var value2:Number = 17; Variables sin tipo: var someObj:*; var someObj;

Tipos de datos:

String: un valor de texto como, por ejemplo, un nombre o el texto de un captulo de un libro Numeric: ActionScript 3.0 incluye tres tipos de datos especficos para datos numricos: o Number: cualquier valor numrico, incluidos los valores fraccionarios o no fraccionarios o int: un entero (un nmero no fraccionario) o uint: un entero sin signo, es decir, que no puede ser negativo Boolean: un valor true (verdadero) o false (falso), por ejemplo, si un conmutador est activado o si dos valores son iguales

Tipos de datos complejos:


MovieClip: un smbolo de clip de pelcula TextField: un campo de texto dinmico o de texto de entrada SimpleButton: un smbolo de botn Date: informacin sobre un solo momento temporal (una fecha y hora)

CABEZAL DEL REPRODUCTOR.


Clic de pelicula.gotoAndStop(1);//va al primer fotograma del clip de pelcula y luego se detiene

GESTIN BSICA DE EVENTOS


Lo de negro es lo que se modifica para nuestra necesidad.
function eventResponse(eventObject:EventType):void { // Aqu deben incluirse las acciones realizadas en respuesta al evento.

} eventSource.addEventListener(EventType.EVENT_NAME, eventResponse);

Ejemplos:
function eventResponse(event:MouseEvent):void { // Actions performed in response to the event go here. } myButton.addEventListener(MouseEvent.CLICK, eventResponse);

Hacer clic en un botn para iniciar la reproduccin del clip de pelcula actual. En el siguiente ejemplo, playButton es el nombre de instancia del botn y this es el nombre especial, que significa "el objeto actual":
this.stop(); function playMovie(event:MouseEvent):void { this.play(); }

Detectar que se est escribiendo en un campo de texto. En este ejemplo, entryText es un campo de introduccin de texto y outputText es un campo de texto dinmico:
function updateOutput(event:TextEvent):void { var pressedKey:String = event.text; outputText.text = "You typed: " + pressedKey; } entryText.addEventListener(TextEvent.TEXT_INPUT, updateOutput);

Detectar que se est escribiendo en un campo de texto. En este ejemplo, entryText es un campo de introduccin de texto y outputText es un campo de texto dinmico:
function updateOutput(event:TextEvent):void { var pressedKey:String = event.text; outputText.text = "You typed: " + pressedKey; } entryText.addEventListener(TextEvent.TEXT_INPUT, updateOutput);

CREACION DE INSTANCIA DE OBJETOS.


Valor numrico literal (introducir el nmero directamente):

var someNumber:Number = 17.239; var someNegativeInteger:int = -53; var someUint:uint = 22;

Valor de cadena literal (poner el texto entre comillas dobles):


var firstName:String = "George"; var soliloquy:String = "To be or not to be, that is the question...";

En los dems tipos de datos, para crear una instancia de objeto, se utiliza el operador new con el nombre de clase, como en el siguiente ejemplo:
var raceCar:MovieClip = new MovieClip(); var birthday:Date = new Date(2006, 7, 9);

VALORES PREDETERMINADOS PARA VARIABLES SIN INICIALIZAR.

PARA COMPROBAR SI ES O NO est el operador is.


El operador is examina la jerarqua de herencia adecuada y se puede utilizar no slo para verificar si un objeto es una instancia de una clase especfica, sino tambin en el caso de que un objeto sea una instancia de una clase que implementa una interfaz determinada. En el siguiente ejemplo se crea una instancia de la clase Sprite denominada mySprite y se utiliza el operador is para comprobar si mySprite es una instancia de las clases Sprite y DisplayObject, y si implementa la interfaz IEventDispatcher. var mySprite:Sprite = new Sprite(); trace(mySprite is Sprite); // true trace(mySprite is DisplayObject); // true trace(mySprite is IEventDispatcher); // true

EL OPERADOR as
El operador as, una de las novedades de ActionScript 3.0, tambin permite comprobar si una expresin es un miembro de un tipo de datos determinado. Sin embargo, a diferencia del operador is, el operador as no devuelve un valor booleano. El operador as devuelve el valor de la expresin en lugar de true y null en lugar de false. En el siguiente ejemplo se muestran los resultados de utilizar el operador as en lugar del operador is en el caso sencillo de comprobar si una instancia de Sprite es un miembro de los tipos de datos DisplayObject, IEventDispatcher y Number. var mySprite:Sprite = new Sprite(); trace(mySprite as Sprite); // [object Sprite] trace(mySprite as DisplayObject); // [object Sprite] trace(mySprite as IEventDispatcher); // [object Sprite] trace(mySprite as Number); // null

FUNCIONES.
Ejemplo: function traceParameter(aParam:String) { trace(aParam); } traceParameter("hello"); // hello Asigna la funcin en un array: var traceArray:Array = new Array(); traceArray[0] = function (aParam:String) { trace(aParam); }; traceArray[0]("hello");

DEVOLVER VALORES DE UNA FUNCIONES.


Ejemplo: function doubleNum(baseNum:int):int { return (baseNum * 2); }

FUNCIONES ANIDADAS.
Ejemplo: function getNameAndVersion():String {

function getVersion():String { return "9"; } function getProductName():String { return "Flash Player"; } return (getProductName() + " " + getVersion()); } trace(getNameAndVersion()); // Flash Player 9

FUNCIONES POR VALOR.


Ejemplo: function passPrimitives(xParam:int, yParam:int):void { xParam++; yParam++; trace(xParam, yParam); } var xValue:int = 10; var yValue:int = 15; trace(xValue, yValue); // 10 15 passPrimitives(xValue, yValue); // 11 16 trace(xValue, yValue); // 10 15

FUNCIONES POR REFERENCIA.


Ejemplo:

function passByRef(objParam:Object):void { objParam.x++; objParam.y++; trace(objParam.x, objParam.y); } var objVar:Object = {x:10, y:15}; trace(objVar.x, objVar.y); // 10 15 passByRef(objVar); // 11 16 trace(objVar.x, objVar.y); // 11 16

VALORES PREDETERMINADOS DE LOS PARMETROS.


Se ejecutan cuando los parmetros no estn completos o sea se asignan los valores que estn como predeterminados. Ejemplo: function defaultValues(x:int, y:int = 3, z:int = 5):void { trace(x, y, z); } defaultValues(1); // 1 3 5

EL OBJETO ARGUMENTS.
Cuando se pasan parmetros a una funcin, se puede utilizar el objeto arguments para acceder a informacin sobre los parmetros pasados a la funcin. Algunos aspectos: El objeto arguments es una matriz que incluye todos los parmetros pasados a la funcin. La propiedad arguments.length notifica el nmero de parmetros pasados a la funcin. La propiedad arguments.callee proporciona una referencia a la misma funcin, que resulta til para llamadas recursivas a expresiones de funcin. Nota: El objeto arguments no estar disponible si algn parmetro tiene el nombre arguments o si se utiliza el parmetro ... (rest). Ejemplo: function traceArgArray(x:int):void { for (var i:uint = 0; i < arguments.length; i++) { trace(arguments[i]); } } traceArgArray(1, 2, 3); // salida: // 1 // 2 // 3 Nota: el compilador tiene que estar desmarcado el modo Estricto. Ejemplo funcin recursiva. var factorial:Function = function (x:uint) { if(x == 0) {

return 1; } else { return (x * arguments.callee(x - 1)); } } trace(factorial(5)); // 120

EL PARMETRO ...(REST).
Se utiliza en vez de el objeto arguments, o sea no esta disponible el objeto arguments. Ejemplo: function traceArgArray(... args):void { for (var i:uint = 0; i < args.length; i++) { trace(args[i]); } } traceArgArray(1, 2, 3); // salida: // 1 // 2 // 3

FUNCIONES COMO OBJETOS.


En el ejemplo siguiente, que slo se compila en modo estndar porque el modo estricto requiere una coincidencia exacta entre el nmero de argumentos pasados y el nmero de parmetros definidos, se muestra la diferencia entre las dos propiedades: Ejemplo: function traceLength(x:uint, y:uint):void { trace("arguments received: " + arguments.length); //numero de argumentos trace("arguments expected: " + traceLength.length); //numero de argumentos pasados } traceLength(3, 5, 7, 11); /* salida: argumentos recibidos: 4 argumentos esperados: 2 */

El cdigo siguiente crea una propiedad de funcin fuera de la declaracin de la funcin e incrementa el valor de la propiedad cada vez que se llama a la funcin:

CIERRES DE FUNCION.
Por ejemplo, el cdigo siguiente crea dos funciones: foo(), que devuelve una funcin anidada denominada rectArea() que calcula el rea de un rectngulo y bar(), que llama a foo() y almacena el cierre de funcin devuelto en una variable denominada myProduct. Aunque la funcin bar() define su propia variable local x (con el valor 2), cuando se llama al cierre de funcin myProduct(), conserva la variable x (con el valor 40) definida en la funcin foo(). Por tanto, la funcin bar() devuelve el valor 160 en lugar de 8. function foo():Function { var x:int = 40; function rectArea(y:int):int { //definicion de cierre de funcion return x * y; } return rectArea; } function bar():void { var x:int = 2; var y:int = 4; var myProduct:Function = foo(); trace(myProduct(4));// llamada a cierre de funcin } bar();// 160 El parmetro y dela funcin rectArea toma automticamente el valor de y de bar() o sea 4.

DEFINICIONES DE CLASE.
Por ejemplo, el cdigo siguiente crea una clase denominada Shape que contiene una variable denominada visible: public class Shape { var visible:Boolean = true; } En ActionScript 3.0 se incluye la sentencia package y hay que incluir el nombre del paquete en la declaracin del paquete, no en la declaracin de clase. Por ejemplo, las siguientes declaraciones de clase muestran la manera de definir la clase BitmapData, que forma parte del paquete flash.display, en ActionScript 2.0 y en ActionScript 3.0: // ActionScript 3.0 package flash.display { public class BitmapData {} }

Potrebbero piacerti anche