aplicacions interactives multiplataforma_pac3

5
Pregunta1 Raona perquè es important fer servir la programació dirigida per esdeveniments a l'hora d'interactuar amb l'usuari? L’ entorn d'execució (swf o Flex) crea mecanismes tals com el polimorfisme* i l'enviament de missatges entre objectes. La qual cosa facilita la interactivitat entre l’usuari i l’aplicació que es pot oferir moltes respostes el fa el més paregut al món real. A diferència en programació seqüencial que una ordre té un començament i un final i és quant acaba aquest procès quant l’usuari obté una resposta *polimorfisme : En programació orientada a objectes es denomina polimorfisme a la capacitat que tenen els objectes d'una classe de respondre al mateix missatge o esdeveniment en funció dels paràmetres utilitzats durant la seva invocació. Ja que les característiques dels objectes permeten acceptar diferents paràmetres per a un mateix mètode. Quines son les seves avantatges? Relacionar el sistema al món real. reutilització extensió del codi. Permet crear sistemes més complexos. Facilita la creació de programes visuals. Agilita el desenvolupament de programari Facilita el treball en equip Facilita el manteniment del programar Explica el procés de gestió de l'esdeveniment per a detectar que s'ha pressionat la tecla 'a' del teclat. Adjunte fitxer import flash.events.KeyboardEvent;// // Creem un event del tipus Listener a l'escritori (stage) mitgant la funció (addEventListener) // per crear un event de teclat utilitzarem el comando (KeyboardEvent) // i per que detecte quant una tecla es polsada utilitzarem el comando (KEY_DOWN) // i quant aquest esdeveniment se succeeixi ho fara sobre la funció amb el nom (teclaAPolsada) stage.addEventListener(KeyboardEvent.KEY_DOWN, teclaAPolsada); // Creem una funció anomenada (teclaAPulsada) // quan aquesta s'executi volem que guardi el valor dins d'una variable (tecla) // el tipus d'esdeveniment és (keyboardEvent) // utilitzarem un (void) perquè aquesta variable no va a retornar cap valor function teclaAPolsada (tecla:KeyboardEvent):void // el que va fer aquesta funció és detectar la tecla que s'hagi pressionat i per veure-ho // hem marcat un (trace) i sabrem si s'ha pulsat la lletra aquant aparega el nombre 65 // ja que cada caràcter te un codi { trace(tecla.keyCode); }

Upload: marcos-baldovi

Post on 08-Feb-2017

11 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Aplicacions Interactives multiplataforma_pac3

Pregunta1

Raona perquè es important fer servir la programació dirigida per esdeveniments a l'hora d'interactuar amb l'usuari?

L’ entorn d'execució (swf o Flex) crea mecanismes tals com el polimorfisme* i l'enviament de missatges entre objectes. La qual cosa facilita la interactivitat entre l’usuari i l’aplicació que es pot oferir moltes respostes el fa el més paregut al món real.

A diferència en programació seqüencial que una ordre té un començament i un final i és quant acaba aquest procès quant l’usuari obté una resposta

*polimorfisme : En programació orientada a objectes es denomina polimorfisme a la capacitat que tenen els objectes d'una classe de respondre al mateix missatge o esdeveniment en funció dels paràmetres utilitzats durant la seva invocació. Ja que les característiques dels objectes permeten acceptar diferents paràmetres per a un mateix mètode.

Quines son les seves avantatges?

Relacionar el sistema al món real. reutilització extensió del codi. Permet crear sistemes més complexos. Facilita la creació de programes visuals. Agilita el desenvolupament de programari Facilita el treball en equip Facilita el manteniment del programar

Explica el procés de gestió de l'esdeveniment per a detectar que s'ha pressionat la tecla 'a' del teclat. Adjunte fitxer

import flash.events.KeyboardEvent;//

// Creem un event del tipus Listener a l'escritori (stage) mitgant la funció (addEventListener) // per crear un event de teclat utilitzarem el comando (KeyboardEvent) // i per que detecte quant una tecla es polsada utilitzarem el comando (KEY_DOWN)// i quant aquest esdeveniment se succeeixi ho fara sobre la funció amb el nom (teclaAPolsada)

stage.addEventListener(KeyboardEvent.KEY_DOWN, teclaAPolsada);

// Creem una funció anomenada (teclaAPulsada)// quan aquesta s'executi volem que guardi el valor dins d'una variable (tecla) // el tipus d'esdeveniment és (keyboardEvent)// utilitzarem un (void) perquè aquesta variable no va a retornar cap valor

function teclaAPolsada (tecla:KeyboardEvent):void

// el que va fer aquesta funció és detectar la tecla que s'hagi pressionat i per veure-ho // hem marcat un (trace) i sabrem si s'ha pulsat la lletra aquant aparega el nombre 65 // ja que cada caràcter te un codi

{trace(tecla.keyCode);

}

Page 2: Aplicacions Interactives multiplataforma_pac3

Pregunta2

Quan es imprescindible fer servir un preloader?

Quant es fa una petició per part de l'usuari i aquesta ja siga pel pes de l’objecte demanat o perquè el temps de reposta del servidor o l’aplicació en si en realitzar l’operació sol·licitada.

Quina es la seva finalitat?

Cridar l’atenció de l’usuari i dir li d’alguna manera que se esta procedint realitzant la tasca sol·licitada per aquest

Quins dos tipus de preloaders podem crear? Explica cadascun d'ells i dona un exemple de la seva utilització.

a) No Quantitatiu: Aquest tipus de preloader s’utilitza quant estem a l’espera de resposta per part del servidor i no podem estimar el temps de resposta d’aquest. Utilitzarem una petita animació per indicar que l’aplicació no esta bloquejada.

Al fer una petició a un corrector online. Aquest te que accedir a les nostres bases de dades si son 3 línies no tardara, pero si cada usuari fa una correcció distinta pot ser un parraf o 50 fulles el temps de demora no el sabrem.

b) Quantitatiu: Sempre que tinguem coneixement del pes de l’element sol·licitat al servidor, utilitzarem una barra de progres la qual et tot moment ens indicara el tempsque resta per obtenir la descarrega.

Tenim un swf que te un pes determinat, al fer la solicitud d’aquest al servidor, aquest en funció de la velocitat de connexió que tinguem ens indicara el temps que tardara.

Page 3: Aplicacions Interactives multiplataforma_pac3

Pregunta3

Volem crear una aplicació que funcioni com un reproductor de vídeo. Per això importarem un vídeo (fitxer .mp4) i després donarem les opcions de: reproduir vídeo, fer pausa, parar i pujar/baixar el volum.

Quines classes ens aporta AS3 per a fer-ho i com les utilitzarem per a poder real itzar la aplicació.

import flash.display.Sprite; s’utilitza esta classe per a poder manejar els botons de l’aplicació, ja que son sprites

public var btPlay:Sprite;public var btStop:Sprite;public var btPause:Sprite;public var btVolumeUp:Sprite;public var btVolumeDown:Sprite;

import flash.events.Event; s’utilitza com a classe base per a poder crear esdevenimentsimport flash.events.MouseEvent; esta es per events de ratoli

//Botons eventListenersbtPlay.addEventListener(MouseEvent.CLICK, playHandler);btStop.addEventListener(MouseEvent.CLICK, stopHandler);btPause.addEventListener(MouseEvent.CLICK, pauseHandler);btVolumeUp.addEventListener(MouseEvent.CLICK, volumeUpHandler);btVolumeDown.addEventListener(MouseEvent.CLICK,volumeDownHandler);

import flash.media.SoundTransform; Esta clase es per aplicar metodes i propietats d’audio. L’exemple es per a putxar el volumen el parametros van de 0 a 1 i els increments de0’1

private function volumeUpHandler(e:Event):void {trace(soundTransform1.volume);if(soundTransform1.volume<1){ soundTransform1.volume =

Number(soundTransform1.volume+0.1); stream.soundTransform = soundTransform1;}

import flash.media.Video; permitix visualitzar video i poder treballar la posicio,

//Center videovideo.x = (videoScreen.width-video.width)/2;video.y = (videoScreen.height-video.height)/2;

Page 4: Aplicacions Interactives multiplataforma_pac3

import flash.net.NetConnection; es per a conectar dispositius de video, el posarem en (null) ja que este per defecte busca artxius Flash Media Server

public function LoadVideo(){

//Initialitzar variablesvideoURL = "fitxer .mp4";connection = new NetConnection();soundTransform1 = new SoundTransform();

init();

}

//Connect Stream

connection.connect(null);

import flash.net.NetStream; esta es per a poder manejar fluix de datos

import flash.net.URLRequest; esta classe es per a possar la ruta de un artxiu

import flash.events.NetStatusEvent; Un objecte NetConnection, NetStream distribuix objectes NetStatusEvent quant informa sobre el seu estat. Solament hi ha un tipus d'esdeveniment d'estat: NetStatusEvent. NET_STATUS.

import flash.events.SecurityErrorEvent; per a un objecte de destinació en el qual es produeix un error de seguretat.

import flash.events.AsyncErrorEvent; aquesta s’utilitza quant les clases

Page 5: Aplicacions Interactives multiplataforma_pac3

NetConnection i NetStream donnen error

import flash.events.ProgressEvent; Es distribueix un objecte ProgressEvent quan s'inicia l'operació de càrrega o quan un socket rep dades. Aquests esdeveniments solen generar-se en carregar arxius SWF, imatges o dades en l’ aplicació

import flash.ui.Mouse; Els mètodes de la classe Mouse s'utilitzen per ocultar i mostrar

el punter del ratolí, o per definir un estil concret de punter.

Nota: Explicar indicant les classes i mètodes que utilitzaríem, no cal posar el codi complet de la aplicació.