FullScreen
Então pessoal com uma atualização do plugin do nosso flash player 9, agora podemos fazer um fullscreen de verdade, sem browser ou algo do tipo. Da pra ser usado em actionscript 2.0 ou 3.0, vou ensinar como se fazer isso usando AS3.0.
Nota: Quando o modo fullscreen é ativado algumas funções são desabilitadas, assim como ações de teclas, input texts e coisas do tipo, motivo de segurança.
Bom, vamos lá.
No seu código HTML insira o seguinte parametro no objeto
param name="allowFullScreen" value="true"
e no embed allowFullScreen="true"
Agora no seu arquivo flash crie um botão fullScreen_mc e insira…
stage.scaleMode = StageScaleMode.NO_SCALE;
fullScreen_mc.addEventListener(MouseEvent.MOUSE_DOWN, disparaEvento);
function disparaEvento(e:MouseEvent):void{
switch(stage.displayState){
case "normal":
stage.displayState = "fullScreen";
break;
case "fullScreen":
stage.displayState = "normal";
break;
}
};
agora abra seu HTML e clique no mc FullScreen para ver o resultado, caso tenha se perdido baixe aqui o tutorial.
1 comment Março 5, 2008
XML e addChild
Quem não enfrenta alguns problemas com AS3 e suas mudanças? Até se ambientalizar novamente vai algum tempinho, então pra ajudar a galera que ta começando agora vou postar um exemplinho simples de como carregar xml e ir adicionando no palco.
1. addChild é o nosso antigo attachMovie, por tanto crie um movieclip com um pequeno polígono. Vá até sua library e no classPath do linkage ponha “Polygon” sem as aspas. Agora crie outro Movie Clip só que vazio e no Linkage ponha “container”. Para fechar crie um campo de texto dinâmico para receber o valor do nosso xml e instance-o de cliquei_txt.
Ok, nosso palco está pronto.
Crie uma nova camada e insira o seguinte código.
// Importando a classe Tweener
import caurina.transitions.Tweener;
// Declarando variaveis
var final:Number = new Number;
var cont:container = new container;
var xml:XML;
var url:URLRequest = new URLRequest("meuXml.xml");
var carrega:URLLoader = new URLLoader();
// Quando carregado chamar a função "carregado"
carrega.addEventListener("complete", carregado);
carrega.load(url);
// Adicionando MovieClip Pai
this.addChild(cont);
cont.y = 100;
cont.x = (stage.stageWidth - cont.width)/2;
// Função quando o xml é carregado
function carregado(e:Event):void{
// Carregando dados do xml
xml = new XML(carrega.data);
// Definindo a variavel final como tamanho de nós do xml
final = xml.item.length();
for(var i:Number = 0; i<=final-1; i++){
// Adicionando MovieClips Filho e dando sua posição no randômica no palco
var objeto:Polygon = new Polygon();
objeto["id"] = i;
cont.addChild(objeto);
Tweener.addTween(objeto, {x:Math.random()*550-cont.x, time:1, transition:"easeInOutExpo"});
Tweener.addTween(objeto, {y:Math.random()*400-cont.y, time:1, transition:"easeInOutExpo"});
// Evento de clique no movie clip filho
objeto.addEventListener(MouseEvent.MOUSE_DOWN, ChamaObj);
}
}
// Função do clique
function ChamaObj(event:MouseEvent):void{
//Dando o valor "nome" do nó ao campo de texto
cliquei_txt.text = xml.item[event.currentTarget["id"]].@nome;
//Sorteando posição no palco
Tweener.addTween(event.currentTarget, {x:Math.random()*550-cont.x, time:1, transition:"easeInOutExpo"});
Tweener.addTween(event.currentTarget, {y:Math.random()*400-cont.y, time:1, transition:"easeInOutExpo"});
}
Pronto, teste seu filme e veja o resultado. Qualquer dúvida… comente.
4 comments Fevereiro 18, 2008
NetStream no AIR
E aí galera, vou “recomeçar” o blog postando um pouco sobre AIR. Bom chega de muita conversa vamo fazer nosso aplicativo buscar uns videozinhos da web
Crie dois arquivos, StreamVideo.fla e outro StreamVideo.as, um vai servir para o nosso código e o outro para nossos elementos. No arquivo .fla use já o formato AIR. crie 6 botões, um para fechar, minimizar, e arrastar e mais três para trocarmos de vídeo, e por último em nosso class path coloque StreamVideo que é o nome da nossa classe mais pra frente.
no arquivo .as insira o seguinte.
package{
import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.events.MouseEvent;
public class StreamVideo extends MovieClip {
public function StreamVideo():void{
var myVideo:Video = new Video();
addChild(myVideo);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
myVideo.attachNetStream(ns);
myVideo.x = 15;
myVideo.y = 20;
ns.play("http://marceloduende.com.br/lab/air/01.flv");
// links
vid01_mc.addEventListener(MouseEvent.CLICK, video01);
vid02_mc.addEventListener(MouseEvent.CLICK, video02);
vid03_mc.addEventListener(MouseEvent.CLICK, video03);
function video01(event:MouseEvent): void{
ns.play("http://marceloduende.com.br/lab/air/01.flv");
}
function video02(event:MouseEvent):void{
ns.play("http://marceloduende.com.br/lab/air/02.flv");
}
function video03(event:MouseEvent):void{
ns.play("http://marceloduende.com.br/lab/air/03.flv");
}
close_mc.addEventListener(MouseEvent.CLICK, sair);
minimize_mc.addEventListener(MouseEvent.CLICK, minimize);
drag_mc.addEventListener(MouseEvent.MOUSE_DOWN, drag);
function sair(e:MouseEvent):void{
stage.nativeWindow.close();
}
function drag(e:MouseEvent):void{
stage.nativeWindow.startMove();
}
function minimize(e:MouseEvent):void{
stage.nativeWindow.minimize();
}
}
}
}
Instance name dos botões:
fechar = close_mc
minimizar = minimize_mc
drag = drag_mc
video 1 = vid01_mc
video 2 = vid02_mc
video 3 = vid03_mc
E ualáá fizemos nosso app desktop criar uma conexão com http sem browser nenhum. Possibilidades infinitas.
1 comment Fevereiro 11, 2008