Arquivo de Outubro, 2008

Criar um menu em actionscript 3.0

Um simples menu feito em as3. Utilizam-se a mesma funçao para todos os botoes. O próximo menu será dinamico (XML) para que se possa criar o menu a partir do ficheiro externo XML.

Este é o código utilizado:

//

import flash.display.StageScaleMode;
stage.scaleMode = StageScaleMode.NO_SCALE;

this.button1.texto.texto_btn.text = “Button 1″;
this.button2.texto.texto_btn.text = “Button 2″;
this.button3.texto.texto_btn.text = “Button 3″;
this.button4.texto.texto_btn.text = “Button 4″;

//

button1.addEventListener(MouseEvent.CLICK, onClick);
button1.addEventListener(MouseEvent.MOUSE_OVER, fadeDown);
button2.addEventListener(MouseEvent.MOUSE_OVER, fadeDown);
button1.addEventListener(MouseEvent.MOUSE_OUT, fadeUp);
button2.addEventListener(MouseEvent.MOUSE_OUT, fadeUp);
button3.addEventListener(MouseEvent.MOUSE_OVER, fadeDown);
button4.addEventListener(MouseEvent.MOUSE_OVER, fadeDown);
button3.addEventListener(MouseEvent.MOUSE_OUT, fadeUp);
button4.addEventListener(MouseEvent.MOUSE_OUT, fadeUp);
button1.mouseChildren = false;
button2.mouseChildren = false;
button3.mouseChildren = false;
button4.mouseChildren = false;

function fade(event:Event):void {
event.target.useHandCursor = true;
event.target.buttonMode = true;
event.target.nextFrame();
}
function fade2(event:Event):void {
event.target.prevFrame();
}
function fadeDown(event:MouseEvent):void {
event.target.removeEventListener(Event.ENTER_FRAME,fade2);
event.target.addEventListener(Event.ENTER_FRAME,fade);
}
function fadeUp(event:MouseEvent):void {
event.target.removeEventListener(Event.ENTER_FRAME,fade);
event.target.addEventListener(Event.ENTER_FRAME,fade2);
}

function onClick(event:MouseEvent):void {
var request:URLRequest = new URLRequest(“http://www.google.com”);
navigateToURL(request,”_SELF”);
}

//

O movieclip que é utilizado para o botao é o mesmo. Para ter mais botoes, basta copiar o botao e mudar o nome da instancia.

As funçoes “fade” e “fade2″ controlam o movimento dos moviclips (timeline) e as funçoes “fadeUp” e “fadeDown” contêm os enterframes para que a animaçao seja fluida.

A funçao “onClick” contem o URL do botao 1.

Qualquer dúvida nao hesitem em perguntar.
Veja o exemplo.

O .fla está disponivel para download aqui.

->Download

Drag and Drop – AS3

Exemplo de como fazer um “drag and Drop” em actionscript 3.

Código

//

mc1.addEventListener(MouseEvent.MOUSE_OVER,traceName);
mc1.addEventListener(MouseEvent.MOUSE_DOWN,arrastar);
mc1.addEventListener(MouseEvent.MOUSE_UP,parar);
mc1.addEventListener(MouseEvent.MOUSE_UP, colisao);

function traceName(event:MouseEvent):void {
trace(event.target.name);
useHandCursor = true;
buttonMode = true
}

function arrastar(evt:MouseEvent):void{
mc1.startDrag();
}
function parar(evt:MouseEvent):void{
mc1.stopDrag();
}

function colisao(evt:MouseEvent):void{
if(mc1.dropTarget){
texto.text = “Dentro”;
}else{
texto.text = “Fora”;
}
}
//

Ficheiro .fla
-> Download

Post “Tutorial Flash, XML com HTML e CSS” – Actualizado

Aprender actionscript 3.0

Depois de uma década  de actionscript 2.0 (AS2), chega o momento de virar as costas para este nosso amigo e dar as boas vindas ao actionscript 3.0 (AS3). Foi uma longa e bela viagem, mas quando é pelo melhor nenhum esforço é demasiado. Decidi então começar a aprender a mais recente versão do actionscript, o AS3. É verdade que muitas coisas mudaram mas muitas também ficaram basicamente iguais. Sendo assim resolvi finalmente experimentar.

De seguida mostro um simples exemplo de um MouseOver(MOUSE_OVER) com um onEnterFrame(ENTER_FRAME), um simples fade-in, fade-out num botão.

Exemplo:

Cliquem na imagem abaixo:


Código as3:

//

function alphaUp(evt:Event):void {
mc1.alpha+=.05;
if (mc1.alpha>.9) {
mc1.alpha=1;

}
}
function alphaOut(evt:Event):void {
mc1.alpha-=.05;
if (mc1.alpha<.1) {
mc1.alpha=0;

}
}

function OverButton(evt:MouseEvent):void {
mc1.removeEventListener(Event.ENTER_FRAME,alphaOut);
mc1.addEventListener(Event.ENTER_FRAME,alphaUp);
}
function OutButton(evt:MouseEvent):void {
mc1.removeEventListener(Event.ENTER_FRAME,alphaUp);
mc1.addEventListener(Event.ENTER_FRAME,alphaOut);
}

mc1.addEventListener(MouseEvent.MOUSE_OUT,OverButton);
mc1.addEventListener(MouseEvent.MOUSE_OVER,OutButton);


//

Esta foi a maneira com que consegui o resultado que queria, obviamente não sei se será a maneira mais facil ou correcta de a fazer. Se assim não for agradeço comentários. A vossa revisão do actionscript será incluida neste blog.

Espero que este seja o primeiro de muitos posts relaciondos com este tema.

Aqui fica o .fla.