Search the Community

Showing results for tags 'flash'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Blogs

  • Projectos
  • Revista PROGRAMAR
  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Wiki

Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
    • Apresentações
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML / XHTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • SharePoint
    • Apresentação de Software
  • Informática Extra-Programação
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Matemática
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
    • Arquivo Morto

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Found 21 results

  1. Boas pessoal, Gostaria de saber se alguém sabe como se podem obter dados de um website,https://goo.gl/tvuJDl, totalmente escrito em flash. No caso em concreto os dados são as odds... Cumprimentos
  2. Titulo do Projecto: Crac Última Versão: 1.0 Site Oficial: https://apps.facebook.com/craccards/ Licença: Líder do Projecto: vikcch Membros Actuais do Projecto: vikcch Screenshots: Descrição do Projecto: Jogo de cartas jogado por 4 jogadores Fiz o jogo no ano passado (2014) em as3, já o tinha feito anos antes em vb6, era um jogo bastante popular nas maquinas de photo play (touch screen) que costumavam estar nos cafés, não sei se é só na minha terra, mas agora raramente se vê dessas maquinas... O jogo é uma aplicação do facebook que dá para convidar amigos, postar no mural e tem tabela de hiscores entre os amigos do facebook... Fiz este jogo porque queria aprender as3 e achei melhor fazer um projecto que já tinha feito antes, e também por ter poucas ideias para "criar algo novo".. Gostava de ler a vossa opinião quanto ao projecto e ao jogo em si..
  3. Boas eu estou a fazer um jogo com a framwork do citrus e o que me acontece é isto primeiro tinha isto: hero =new Hero("hero",{x:140, y:200,width:66, height:92, view:"../sprites/front.png"}); quando alterei para: hero =new Hero("hero",{x:140, y:200,width:66, height:92, view:"../sprites/hero.swf"}); dá esse erro: TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula. at citrus.view.starlingview::StarlingArt/moveRegistrationPoint()[C:\Users\Aymeric\Workspace\Flash\Librairies\Citrus-Engine\src\citrus\view\starlingview\StarlingArt.as:194] at citrus.view.starlingview::StarlingArt/handleContentLoaded()[C:\Users\Aymeric\Workspace\Flash\Librairies\Citrus-Engine\src\citrus\view\starlingview\StarlingArt.as:426] ajudem cumprimentos
  4. Estou a desenvolver uma aplicação e preciso de num determinado video fazer restart ou reset para nao continuar a correr quando não está a ser mostrado. Vou por aqui o meu código, para ser perceptivel: if (MyService.GetUrlVideo().Length == 0) { //axWindowsMediaPlayer1.Visible = false; axShockwaveFlash1.Visible = false; RTB_Avisos.Visible = true; label_Avisos.Visible = true; countVideo = 0; } else { RTB_Avisos.Visible = false; label_Avisos.Visible = false; axShockwaveFlash1.Visible = true; if (countVideo == 0) { foreach (var item in MyService.GetUrlVideo()) { string path = item; axShockwaveFlash1.LoadMovie(0, path); axShockwaveFlash1.AllowFullScreen = "true"; axShockwaveFlash1.Size = new System.Drawing.Size(1400, 700); } countVideo = 1; } } Ja experimentei alguns destes comandos, mas nenhum funcionou. axShockwaveFlash1.FrameNum = 1; axShockwaveFlash1.Refresh(); axShockwaveFlash1.Stop(); axShockwaveFlash1.GotoFrame(0); Se alguem souber o comando que devo utilizar ou método, agradecia Obrigado desde já
  5. Bem antes demais não sei bem se vou colocar isto no sitio correcto, mas é uma qestão um pouco vaga Gostaria que me dessem sugestões de music players com uma boa API javascript para controlar o player, e com possibilidade de skins tenho trabalhado com o JWPLAYER e ate estou bem contente, mas qeria algo mais virado para HTML5, embora ele suporte, queria outras sugestoes e feedbacks. Fiz uma pesquisa e este pareceu-me interessante, preenchendo os requisitos que preciso... http://mediaelementjs.com/ De lembrar que o player é para reproduzir musicas de uma fonte de stream +- directo, e a maioria no formato mp3 (o endereço que vou usar o jwplayer 6 não o suporta, tenho trabalhado com o 5.9x) Obrigado (: PS: tenho preferencia por um player que tenha api propria ou para o fallback use jQuery, não qeria incluir mais bibliotecas JS senão essa...
  6. ola galera sou novo aqui no forum e preciso de ajuda para criar um painel de noticias em flash vamos la tenho que criar um swf que abra dinamicamente noticias via rss feed com image, titulo, e descrição segue um modelo do que preciso seria identico a esse http://www.behance.net/gallery/Templates-Terra-DOOH/4972185 com noticias veriadas facil de trocar aguardo ajuda da galera obrigado
  7. Boas pessoal! Sou novo aqui e no mundo do flash, e enquanto pesquisei aqui no forum a minha duvida, encontrei alguns tópicos a indicar que o flash já deu o que tinha a dar. É verdae? Então é o seguinte, eu criei um globo em que ao dar click com o mouse e arrastar-mos, ele faz o efeito de rotação, podendo para num país. Até aqui perfeito!Acho eu o meu probelema é que agora eu quero mapear o globo por link's, por exemplo se eu der click em Portugal ir para um link... Eu sei fazer em Dreamweaver mas acho que não dá para incorporar no flash!? Alguem que me ajude por favor, é urgente! E desde já, parabens a administração, pelo excelente trabalho!
  8. Boa noite, Se me conseguissem ajudar neste pequeno problema que me surge agradecia imenso Então é o seguinte: existe este pequeno jogo em flash chamado Gun Mayhem que permite um multiplayer num mesmo teclado ate 4 jogadores. O desafio que me foi proposto era torna-lo num jogo no qual podesse jogar em teclados diferentes, ou seja, em computadores diferentes numa rede diferente, de modo a que eu e mais uns 3 colegas podessemos gozar um pouco das férias ;p A situação é que , com o meus conhecimentos base de algumas linguagens e bem entender de bases de servidores, nao estou a conseguir fazer rodar um mesmo jogo para 4 elementos. Se me pudessem ajudar agredecia imenso! Um excelente obrigado desde ja e cumprimentos! SpecialAro
  9. Bem, tenho aqui um design que um moço amigo me fez e tal mas tão-me a surgir uns problemas, pois quero deixar o template responsive e fluid (adaptar as resoluçoes de pc, tablet e telemovel, bem como usar a largura toda, com no caso do soundcloud por exemplo) o design em que me tou a basear é este: http://imgur.com/a/L4rQr de momento ta a ficar assim: http://i-nozex.cixx6.com/ se reduzirem o tamanho da janela vão ver que a parte das descriçoes onde tem o tempo, o titulo e o artista, vem para baixo da imagem, obviamente. o que venho pedir é uma sugestão de uma outra forma de apresentar assim as musicas, com a imagem, o player, o titulo, artista, likes, os botoes, e ainda um espacinho para meter la o nome do genero musical... estou a basearme um pouco no soundcloud, mas nao qero que seja identico... nao sou muito a favor mas que acham se usar um player geral, como se ve em alguns sites, no fundo do site, fixo uma barra com o player... semelhante ao que podem ver neste site: http://soundowl.com/track/3ggv/gtronic-sergeant-bass-vocal-mix se meterem play numa musica vao ver que aparece um player ca em baixo, eu nao sou la muito a favor, mas quero sugestoes ai alguem com umas ideazitas acho que é tudo o que pretento, ai um esquema de apresentação das musicas de forma a depois se adaptar bem em multi resoluçoes o site ainda não está responsive, no entanto com a resolução "padrao" em desktop de 1024x768, as coisas ja ficam fora do sitio :\ tou a trabalhar em html5 e tambem nao quero isto muito saturado de js (: cumpz, obrigado
  10. Viva, Alguém me pode explicar qual o melhor procedimento para guardar dados num ficheiro em Flash (ActionScript 3.0), nas seguintes condições: - ActionScript 3.0; - Guardar HighScore e o nome dos jogadores num ficheiro XML (ou outro formato); - A aplicação é um jogo em flash que deverá ser disponibilizado Offline (pra desktop, em DVD por exemplo). As hipóteses que já pesquisei foram: FileReference ou SharedObject. Agradeço desde já a vossa ajuda. Abraço, Pedro
  11. Boa tarde, estou a ter um pequeno problema, criei uma imagem em flash tipo publicidade em flash agora estou a ter um pequeno problemas, como crio neste ficheiro em flash como posso ao clicar nele ir para uma página ? cumps, Ricardo Gonçalves.
  12. Boas malta, Alguem interessado em juntar-se e criar uma pequena comunidade de desenvolvimento de jogos? A ideia é criar jogos (prioritariamente 2D) com Flash p/ Android ou iOS (AIR). Neste momento gostava de poder arranjar malta para a parte de ilustração, e programação. Sou programador mas gostava de partilhar ideias e aprender algo mais. Claro que isto é apenas um hobbie, mas gostava de saber se alguém estaria interessado. Obrigado malta.
  13. Bom dia Sou uma amador em flash, eu utilizo o swishmax4 para fazer aplicações interativas em flash. Tenho uma questão que não consigo resolver, é a seguinte: estou a elaborar uma aplicação interativa em flash, o tamanho da "scene" é de 1020px X 720px (px=pixels) e eu quero que a aplicação em flash inicie em fullscreen e que todo o conteúdo dentro da scene se redimensiona a qualquer tamanho de ecrã, por exemplo se tiver um ecrã com um tamanho enorme, quero que esta aplicação estando em fullscreen fique com a mesma resolução do tamanho do ecrã. não sei mesmo como fazer isto no swishmax desde já muito obrigado. cumprimentos
  14. Boas Um amigo meu está a fazer uma pequena rádio na internet e pediu-me para eu lhe fazer um player simples para um steam de ip:porta. Andei a pesquisar e encontrei um código ActionScript2 que funciona, mas tem um problema: o código tem uma função setInterval para fazer clear no buffer, mas quando acaba o tempo definido na função setInterval o player para. O código é este: function stream() { System.security.allowDomain("http://stream"); myRadio = new String("http://stream:porta/;"); mySound = new Sound(); mySound.loadSound(myRadio, true); mySound.start(); } function clearBuffer() { mySound.stop(); delete mySound; stream(); } timerinProgress = false; musicOn = true; offonText = "OFF"; System.security.allowDomain("http://stream"); myRadio = new String("http://stream:porta/;"); mySound = new Sound(); mySound.loadSound(myRadio, true); mySound.start(); var vol = 80; _root.onEnterFrame = function () { _root.mySound.setVolume(vol); }; var intervalID = setInterval(clearBuffer, 1200000); Gostava que alguém me conseguisse explicar melhor o funcionamento do buffer e uma forma de conseguir contornar o problema de o player parar depois do tempo definido no setInterval. Obrigado desde já
  15. Ja conhecia o light-Bot, o Lightbot 2.0 é uma evolucao (com quase 2 anos de idade) bem vinda Aconselhado a quem quer aprender programacao ... ou a perceber os problemas que os programadores enfrentam todos os dias
  16. Neste tutorial vou abordar a interacção do Flash com o sistema de base de dados mysql usando como intermediário o php. Usei o palco com o tamanho 100 X 100. 1º passo: a) Criar um layer com o nome Actions e bloqueá-lo; b) Criar outro layer com o nome Objectos. 2º Passo: a) Criar um campo de texto com o nome id, e dentro deste campo inserir o número do id da linha a obter da base de dados; b) Criar outro campo de texto com o nome texto. (Os campos de texto são criados no layer Objectos.) 3º Passo: a) Colocar o seguinte código na primeira frame do layer Actions: stop(); System.useCodepage = true; //Serve para o flash nao dar erros nos acentos. var envia:LoadVars = new LoadVars(); //Declaracao da variavel 'envia' responsavel por enviar a variavel 'id' para o php. envia.id = id.text; //A variavel id que vai ser enviada para o php fica com o valores do campo de texto 'id'. envia.sendAndLoad("http://localhost/texto.php", envia, "REQUEST"); //Enviamos a variavel 'envia' para o php e fazemos o load da resposta do php. envia.onload = function(ok) { if (ok) { //Se o php respondeu. texto.text = this.texto; //Resposta do php (o conteudo pretendido ou a mensagem de erro). } else{ texto.text = "Existe algum problema com o php"; //Mensagem de erro se a conexao ao php falhar. } }; Tudo o que tinha a ver com o Flash terminou aqui!. Agora criamos o arquivo texto.php, com o seguinte código: <?php $id= $_REQUEST['id']; $host="localhost"; //Host $dbuser="root"; //User $dbpass=""; //Password $bd="tutoriais"; //Base de dados $conectar = mysql_connect($host, $dbuser, $dbpass) or die ("Mensagem de Erro!!!"); //Conectamos ao mysql. $bdd = mysql_select_db($bd) or die ("Mensagem de Erro!!!"); //Seleccionamos a base de dados. $result = mysql_query ("SELECT * FROM texto WHERE id = '$id'"); //Seleccionamos a linha do id na base de dados. if ($result) { while ($objecto = mysql_fetch_object ($result)) { $texto= ($objecto->texto); $texto= utf8_encode($texto); mysql_close();//Fechamos a conexao a base de dados. print "&texto=$texto"; //Envia o resultado para o flash. } } else { print "&texto=O ID pretendido nao existe!!!"; //Envia a mensagem de erro para o flash. } ?> Agora criamos a tabela dentro da base de dados tutoriais: CREATE TABLE texto ( id INT(5) NOT NULL AUTO_INCREMENT, texto TEXT NOT NULL, PRIMARY KEY (id) ); Em relação ao this.texto, o this corresponde ao php. No print do php o &texto, corresponde ao local para onde vai enviar o texto, neste caso o this.texto do flash. Espero que com este tutorial tenha resolvido as questões acerca da interacção do flash com php e mysql. Brevemente disponibilizarei os ficheiros do tutorial.
  17. fonte: http://www.flashmasters.com.br/?site=tutoriais&as=mostra&cat=4&id=49 Olá FlashMasters! Gostaria de agradecer ao diversos e-mails enviados a mim e as sugestões dadas neles, peço desculpas aos que eu ainda não respondi! Vamos falar hoje da interacção do Flash com o XML, um assunto que eu creio que seja do interesse de muitos que mexem com Flash. Porque usar o XML? Não seria mais fácil usar um Banco de Dados? Isso vai depender da aplicação, onde iremos usar o XML. O XML serve como uma base de dados, mas não tem muita segurança, não pode guardar dados como senhas pois ele roda no cliente e não no servidor. A vantagem de se usar o XML é o fato de não precisarmos utilizar um Banco de Dados e uma linguagem para transportar os dados entre o Flash e o Banco de Dados. Vale lembrar que o Flash apenas lê o arquivo XML ele não tem a habilidade de alterar ou criar novos valores no XML. Então chega de papo e vamos começar a brincadeira! Antes de mais nada veremos quem é o tal do XML (se é que você já não o conhece). Exemplo: <?xml version="1.0" encoding="iso-8859-1"?> <Estudando> <XML id="Flash no Atributo id"/> <XML>Flash dentro da TAG XML</XML> </Estudando> Acima temos um pequeno exemplo do XML. Na 1ª linha temos a versão do XML e o Enconding que habilita os acentos, dessa forma podemos usar acentos nas Tags. Perceba que a linha 3 é diferente da linha 4. Porque? Simples, podemos declarar apenas atributos na tag XML ao invés de <Abrir> Escrever e </Fechar>. Muito mais simples <Abrir escrever="e fechar"/>, mas isso vai de acordo com a aplicação. Escreva o XML acima e salve o arquivo com o nome de iniciando_xml.xml. Agora no Flash crie um arquivo, salve na mesma pasta em que salvou o XML, com o nome de iniciando_xml.fla e em seguida abra o painel de acções (F9). Vamos fazer com que o Flash leia o arquivo XML e nos mostre na janela de saída: System.useCodepage = true;/*Lê o documento com os acentos, se o System.useCodepage for igual a false, nenhum acento será exibido.*/ var meuXML:XML = new XML();/*Declara um novo objecto XML*/ meuXML.load("iniciando_xml.xml");/*Carrega o arquivo XML*/ meuXML.ignoreWhite = true;/*Ignora os espaços em branco do XML*/ meuXML.onload = function(){/*Quando o XML for carregado, executa a função*/ trace(this);/*mostra o conteúdo de meuXML na janela de saída*/ } O seguinte script mostra o conteúdo do nosso arquivo XML na janela de saída. Simples demais não é mesmo? Vamos mostrar então a 2ª linha na Janela de saída, ou seja, do 1º nó filho do XML e seu conteúdo. System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ trace(this.childNodes); } Na janela de saída aparecerá o seguinte: <Estudando><XML id="Flash no Atributo id" /><XML>Flash dentro da TAG XML</XML></Estudando> chidNodes se refere ao 1º nó filho do XML. Muito legal, mas isso ainda não é nada... Agora vamos continuar, vamos exibir os nós filhos da tag Estudando. System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ trace(this.childNodes[0].childNodes); } Resultado: <XML id="Flash no Atributo id" />,<XML>Flash dentro da TAG XML</XML> Note que agora depois de childNodes vem o [0] que é uma array que indica qual o nó que deve ser lido, isso vai ficar mais claro depois. Ainda podemos utilizar o firstChild que tem o mesmo valor que childNodes[0], afinal ambos fazem referência ao 1º nó do XML. Então poderíamos utilizar: System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ trace(this.firstChild.childNodes); } Também vemos que tem mais um childNodes. Tente interpretar o código da seguinte forma: this = este é o XML, dentro dele temos o nó filho Estudando e os demais nós filhos. this.childNodes[0] ou this.firstChild = este é o 1º nó filho do XML (Estudando). this.childNodes[0].childNodes = estes são os nós filhos da tag Estudando. Agora que refrescamos um pouco sua cabeça, vamos mostrar somente o 1º nó filho da tag Estudando: System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ trace(this.childNodes[0].childNodes[0]); } Resultado: <XML id="Flash no Atributo id" /> Perceba que agora o 2º childNodes tem uma array também, o [0] se refere ao 1º nó filho da tag Estudando, se você colocar [1] ao invés de [0] verá o 2º nó filho da tag Estudando. Faça isto, o resultado é o seguinte: <XML>Flash dentro da TAG XML</XML> Tudo muito legal, mas... porque sempre aparece essas malditas tags? E pra que serve o atributo id do 1º nó filho da tag Estudando? Vamos fazer o seguinte, vamos mostrar o conteúdo do atributo id e logo abaixo vamos mostrar o conteúdo do 2º nó filho da tag Estudando: System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ trace(this.childNodes[0].childNodes[0].attributes.id); trace(this.childNodes[0].childNodes[1].childNodes); } Resultado: Flash no Atributo id Flash dentro da TAG XML Melhorou né? Agora vou explicar: this.childNodes[0].childNodes[0].attributes.id this.childNodes[0] = indica o 1º nó filho do XML. this.childNodes[0].childNodes[0] = indica o 1º nó filho da tag Estudando que é o 1º nó do XML ( ai minha cabeça...). this.childNodes[0].childNodes[0].attributes.id = indica blabla um atributo de nome "id", assim o Flash lê o que consta dentro de id. this.childNodes[0].childNodes[1].childNodes Praticamente a mesma lenga-lenga, mas com uma grande diferença, aqui não usamos atributos, portanto um childNodes adicional que diz ao Flash para ler o conteúdo daquele nó. (ai minha cabeça novamente...). Para entender de vez a hierarquia do negócio, abaixo um exemplo do XML indicando o que o Flash vai ler conforme o código que usamos: <?xml version="1.0" encoding="iso-8859-1"?> <Estudando> <XML id="Flash no Atributo id"/> <XML>Flash dentro da TAG XML</XML> </Estudando> Para que o Flash leia todo o XML usamos apenas o this. Para que o Flash leia a linha 2 e o seu conteúdo usamos this.firstChild ou this.childNodes. Para ler a linha 3 usamos this.firstChild.firstChild ou this.childNodes[0].childNodes[0] Para ler o atributo "id" da linha 3 usamos this.firstChild.firstChild.attributes.id ou this.childNodes[0].childNodes[0].attributes.id Para ler toda a linha 4 usamos this.firstChild.childNodes[1] ou this.childNodes[0].childNodes[1] Para ler o conteúdo que está entre as tags <XML> na linha 4 usamos this.firstChild.childNodes[1].childNodes ou this.childNodes[0].childNodes[1].childNodes Agora que sabemos como ler o conteúdo do XML, para exibir eles em um campo de texto é extremamente simples, basta criar um campo de texto dinâmico instanciá-lo (ex.: texto1) e escrever o seguinte código: System.useCodepage = true; var meuXML:XML = new XML(); meuXML.load("iniciando_xml.xml"); meuXML.ignoreWhite = true; meuXML.onload = function(){ texto1.text = this.childNodes[0].childNodes[0].attributes.id } Bom, isso já dá uma base para vocês estudarem bastante, inventem, tentem, isso vai fazer com que vocês peguem a prática e em breve façam isso de olhos vendados. Aguarde, em breve mostrarei mais do Flash + XML e como usar componentes com o XML. Até a próxima
  18. Espero que ajude todos vocês que estavam com problemas a fazer uma página que seguisse os standard e tivesse Flash! How to correctly insert a Flash into XHTML.
  19. Introdução Este tutorial mostra como criar um site básico sem nada no palco. Isto envolverá o carregamento dinâmico de JPEGs e a criação de movieclips via ActionScript. Algumas coisas colocadas aqui serão avançadas mas eu seguirei por elas passo a passo. Primeiros passos Vou começar a dizer que todos os códigos AS deste tutorial devem ser colocados no primeiro e único frame do seu filme. Não temos arquivo para download, pois os únicos usados são 4 imagens JPG e um MP3, além do código indicado. Carregue o Flash e configure o tamanho do palco para 600 X 400. Configure a velocidade de projecção (frame rate) para 21 e escolha você mesmo a cor do fundo. Salve seu arquivo como index.fla. Agora vamos entrar em uma coisa nova e interessante no MX - criar movieclips e campos de texto via ActionScript. Dê o nome de "acoes" a uma (e única) camada e cole esse código no primeiro quadro: // permite que o FlashPlayer reconheça acentos e cedilha System.useCodePage = true; //crio um campo de texto dinâmico com seus parâmetros _root.createTextField("campo",20,50,50,200,300); campo.background=true; campo.border=true; campo.backgroundColor=0xFFFFFF; // branco campo.borderColor=0x000000; // preto campo.multiline=true; campo.wordWrap=true; campo.variable="meuTexto"; // crio um objeto Textformat meuFormato = new TextFormat(); meuFormato.font = "Arial"; meuFormato.size = 12; meuFormato.color=0x000000;// preto // aponto o formato para nosso campo de texto campo.setNewTextFormat(meuFormato); Explicando o código Este tem muitas acções. Vamos examiná-las. _root.createTextField("campo",20,50,50,200,300); Isto cria um campo de texto em branco, dá a ele o nome de instância de campo, posiciona-o na profundidade de 20 (profundidade é parecida com camadas, de certo modo - somente fique prevenido de que, se você posicionar alguma coisa a mais na mesma profundidade (20) seu campo de texto será removido), coloque o canto superior esquerdo de nosso campo de texto em 50 no eixo x e 50 no y, e então lhe dê uma largura de 200 e uma altura de 300. Nas próximas 6 linhas, determino somente alguns parâmetros que controlam a aparência do nosso campo de texto - estas devem ser bastante auto-explicativas. Depois disso associaremos ao nosso campo de texto a variável meuTexto. meuFormato = new TextFormat(); Isto cria um objecto em formato texto (textFormat). Podemos então configurar todo o conjunto de parâmetros em nosso objecto em formato texto (podemos ver 3 destes parâmetros nas próximas 3 linhas) e então criar dinamicamente um campo de texto formatando-o com nosso objecto TextFormat (que acontece na última linha). Salve seu Fla e teste seu filme. Verá seu campo de texto criado no palco exactamente onde deseja. O problema é que não tem texto. Vamos colocar algum nele. Arquivo de texto Abra um programa editor de texto como o notepad, abra um novo documento e cole nele este texto: meuTexto=Bem-vindo ao meu site dinamicamente criado. Eu sou um Deus em actionscript. Por favor, aprecie sua estadia.& Notará que meuTexto também é o nome da variável que nós demos ao nosso campo de texto dentro do Flash. Salve o arquivo como arquivo.txt dentro da mesma pasta. De volta ao Flash, adicione esta acção debaixo de todas as outras: // carregar nosso texto loadVariables("arquivo.txt", "_root"); Isto carregará nosso arquivo de texto na linha de tempo principal. Porque nosso campo de texto está localizado na linha de tempo principal (_root) e tem um nome de variável de meuTexto, ele se mostrará automaticamente sempre que nosso arquivo de texto disser meuTexto é igual a alguma coisa. Teste seu filme novamente e verá o novo texto mostrado - pode não parecer muito bonito, mas servirá por agora. Criando movieclips dinamicamente Assim, nós criamos um campo de texto via código AS - agora vamos fazer o mesmo com alguns movieclips (os quais nós, na verdade, estaremos usando como botões!) Cole este grupo de acções debaixo das outras: // criando nossos botões for (i=1; i<5; i++) { _root.createEmptyMovieClip("botao"+i, 100+i); _root["botao"+i].lineStyle(2, 0x000000); _root["botao"+i].beginFill(0xFF0000) _root["botao"+i].moveTo(0, 0); _root["botao"+i].lineTo(50, 0); _root["botao"+i].lineTo(50, 50); _root["botao"+i].lineTo(0, 50); _root["botao"+i].lineTo(0, 0); _root["botao"+i]._x = 250+ (i*60); _root["botao"+i]._y = 25; } Explicando o código Novamente, vamos através dele bit por bit. for(i=1;i<5;i++){ Isto é um loop for e faz o Flash repetir todo o código debaixo dele 4 vezes - com nossa variável i aumentada por 1 a cada vez. Vamos analisar esta linha um pouco mais. No começo do loop for configuramos o valor inicial de nossa variável i (i=1). Óptimo, assim i=1 - e agora? Agora dizemos ao Flash que queremos que ele continue o loop for até que certa condição seja encontrada - i<5. Dizemos então ao Flash o que fazer a cada vez que o código dentro do loop for for completado - i++. Isto é o mesmo que dizer "tome o valor corrente de i e aumente i em 1". Assim, o Flash vai ao loop for e diz "agora então deixe-me ver, se aparecer aquele i=1 que todos sabemos ser menor do que 5, então posso ir em frente e rodar todo este código contido neste loop for aqui. Assim, ele roda através de todo o código dentro do loop for e quando chega ao final aumenta i em 1 e diz "parece que i permanece menor do que 5... Vou rodar através de todo este código novamente". O Flash continua a falar com ele mesmo e a rodar o código no nosso loop for até que eventualmente i=5 e ele diz "deixou de ser menor do que 5... Terminei com este loop!". Como (eu espero) pode ver - loops for são muito poderosos e poupadores de tempo real. Certo, vamos dar uma olhada no resto desse código. _root.createEmptyMovieClip("botao"+i, 100+i); Isto cria um movieclip em branco em nossa linha de tempo principal. Dependendo do que rode através do loop for, o novo movieclip terá um nome de instância de botao1 ou botao2, etc e será colocado numa profundidade de 101 ou 102, etc. Ok, assim temos um movieclip em branco, mas nós queremos traçar alguma coisa nele - uma caixa, por exemplo. As próximas 7 linhas do código fazem exactamente isto. Nós não temos realmente tempo de examinar detalhes neste momento sobre a nova API de desenho do MX. Somente fique ciente de que o código ali traça 4 linhas com largura de 2, de cor preta lineStyle(2, 0x000000) e então preenche com vermelho beginFill(0xFF0000). Então as últimas 2 linhas simplesmente posicionam nossos novos movieclips no palco. _root["botao"+i]._x=250+ (i*60); _root["botao"+i]._y=25; Assim, a primeira vez que o Flash segue através do loop for, cria um novo movieclip com um nome de instância de botao1 e o posiciona no palco numa posição x de 310 e numa posição y de 25. A segunda vez que ele seguir através do loop for, criará um novo movieclip com nome de instância de botao2 e o posicionará no palco numa posição x de 370 e numa y de 25. Isso é um código bem sério. Não se stress se ele não fizer sentido de imediato. Teste seu filme. Deve ver 4 quadrados no canto superior direito. Elas devem ser vermelhas com bordas pretas. Assim, temos 4 movieclips no palco com nomes de instância de botao1, botao2, botao3 e..., claro botao4. Outra coisa nova no Flash MX é que nós podemos agora atribuir acções a botões movieclips, como onRelease - veremos isto em um segundo. Primeiro vamos criar novas variáveis em nosso arquivo de texto que serão carregados por dois de nossos botões. Volte ao seu arquivo.txt e adicione mais essas linhas: &meuTexto1=este é o texto que será carregado quando o usuário clicar no botão1.& &meuTexto2=Eu sou mais um texto. Na verdade não queria estar aqui, mas tenho que estar porque o usuário clicou no botão2 - posso ir pra casa agora?& De volta ao Flash Agora, de volta ao Flash, adicione esta acção debaixo de todas as outras: botao1.onRelease = function() { meuTexto = meuTexto1; }; botao2.onRelease = function() { meuTexto = meuTexto2; }; Como pode ver, demos acções a dois dos nossos movieclips. O Flash gentilmente responde mudando o cursor do mouse para o dedo quando o usuário passar com ele sobre os quadrados, permitindo assim que clique sobre elas. Teste seu filme e clique nos 2 botões mais à esquerda. Deverá ver os 2 novos textos exibidos no seu campo de texto. Inserindo imagens Bem, isto tudo é muito fixe, mas nós queremos algumas imagens. Pegue 4 fotos, recorte e redimensione todas até que fiquem com uma largura de 100 pixels de largura por 150 pixels de altura. Salve todas como JPEGs e certifique-se de que a caixa "progressive" ("progressiva") não esteja marcada. Salve todas as quatro imagens na mesma pasta e nomeie-as imagem1.jpg, imagem2.jpg, etc. Bom. Outra característica mais que é nova no MX é que pode carregar JPGs e outras coisas enquanto roda. Vamos fazer isto agora. Cole estas ações debaixo das outras: _root.createEmptyMovieClip("alvoFoto1", 200); _root.createEmptyMovieClip("alvoFoto2", 201); alvoFoto1._x=300; alvoFoto1._y=200; alvoFoto2._x=450; alvoFoto2._y=200; loadMovie("imagem1.jpg","alvoFoto1"); loadMovie("imagem2.jpg","alvoFoto2"); Vamos dar uma olhada nestas ações As primeiras 2 linhas cria 2 novos movieclips (como antes) e lhes dá nomes de instância de alvoFoto1 e alvoFoto2. As próximas quatro linhas somente posicionam nossos novos movieclips no palco. Nas últimas 2 linhas verá a acção loadMovie. O Flash MX permite que nós carreguemos jpgs do mesmo modo que já podia carregar arquivos swf. Neste caso, estamos carregando cada imagem dentro de um alvo movieclip (ao invés de um nível) e o Flash alinha o canto superior esquerdo de nossas imagens com o ponto de registro dos movieclips alvoFoto que acabamos de criar. Salve seu filme e então teste-o. Grande! Agora vamos adicionar acções nos nossos 2 botões finais, o que permitirá ao utilizador mudar as imagens exibidas. Adicione isto abaixo de todas as outras ações. imagem1Loaded = true; imagem2Loaded = true; botao3.onRelease = function() { if (imagem1Carregada == true) { loadMovie("imagem3.jpg", "alvoFoto1"); imagem1Carregada = false; } else { loadMovie("imagem1.jpg", "alvoFoto1"); imagem1Carregada = true; } }; botao4.onRelease = function() { if (imagem2Carregada == true) { loadMovie("imagem4.jpg", "alvoFoto2"); imagem2Carregada = false; } else { loadMovie("imagem2.jpg", "alvoFoto2"); imagem2Carregada = true; } }; Vamos ver o código com mais calma imagem1Carregada=true; imagem2Carregada=true; Simplesmente cria um par de variáveis. Em seguida diremos ao Flash o que fazer se o botao3 for clicado. Isto, no entanto, é um pouco mais complicado. Queremos que o Flash primeiramente verifique se uma condição é verdadeira ou não e então faça uma das duas coisas de acordo. Neste exemplo, nós verificamos para ver se a imagem1 está carregada (via nossa variável imagem1Carregada). Se estiver, então o Flash carregará a imagem3 dentro da nossa alvoFoto1 e configurará nossa variável imagem1Carregada para falso. Se ela não for, então o Flash carregará a imagem1 dentro da alvoFoto1 e configurar a variável imagem1Carregada para verdadeiro. O que isto significa é que pode ficar clicando no botão repetidamente e o Flash irá carregando imagens alternadamente. O código para o botao4 faz a mesma coisa. Teste seu filme e clique em todos os botões. Quase feito... Inserindo áudio Vamos introduzir algum áudio. O Flash MX permite que carreguemos dinamicamente mp3s e é justamente isto que vamos fazer. Copie seu mp3 favorito na mesma pasta. Mude o nome do seu arquivo mp3 para arquivo.mp3. Acrescente estas acções sob todas as outras. mySound=new Sound(); mySound.loadSound("arquivo.mp3",true); mySound.start(0,0); A linha 1 cria um novo objecto som. A linha 2 carrega nosso arquivo mp3 externo dentro deste objecto som e configura streaming (transmitir ininterruptamente) para verdadeiro. A linha 3 inicia nosso som. Teste seu filme. Se o som não funcionar, então tente um arquivo mp3 diferente. OK, penso que isto ja é bastante... Espero que possa ver algumas vantagens na utilização das capacidades "dinâmicas" do Flash MX (não menos de qual é a facilidade na qual pode mudar áudio, imagens e texto sem ter até mesmo que abrir seu fla). Cumps.
  20. Criar um relógio no flash 1) Crie um novo documento ( Ctrl + N ) 2) Insira um Dynamic Text ( ) 3) Clique em cima do dynamic que acabou de inserir e coloque as seguintes properties: Var: Mostra Horas 4) Crie uma nova layer e nomei para "Actions" 5) Clique no primeiro frame da layer "Actions" e aperte a tecla F9 para abrir a janela de actions 6) Coloque os seguintes códigos: relogio = new Date(); horas = relogio.getHours(); //Pega as horas minutos = relogio.getMinutes(); //Pega os minutos segundos = relogio.getSeconds(); //Pega os segundos if(minutos<10) { //se os minutos forem menor que 10 minutos = "0"+minutos; //Adiciona-se o 0 antes dos minutos } if(segundos<10) { //se os segundos forem menor que 10 segundos = "0"+segundos; //Adiciona-se o 0 antes dos segundos } mostrahoras = horas+":"+minutos+":"+segundos; //Mostra as horas:minutos:segundos no dynamic "Mostra horas" que colocou! 7) Agora adicione mais um frame na primeira e segunda layer ( F6 ).. aperte Ctrl+enter para testar!
  21. Criar uma animação básica no Flash MX Configurar o Movie Antes de começarmos a criar a nossa obra prima, devemos começar por configurar as propriedades do filme. Nem todos os filmes são criados da mesma forma, existem diversos factores que podem variar tal como cores de fundo, largura, altura, frames por segundo etc... Nos próximos passos vamos explicar como configurar o filme para criar a animação que vimos em cima. 1. Criar um novo documento no Flash MX. Escolher File | New.Um novo documento em branco é exibido. Primeiro começamos por definir as propriedades do filme. Cor de fundo, dimensões e velocidade. 2. Clicar em qualquer sítio na área de trabalho, o painel [properties] é exibido no fim do ecrã. 3. Pressionar o botão [Size 550x440] no painel [properties]. A caixa de diálogo [Document Properties] é exibida. Nos campos [width] e [height] introduzir os valores 300 e 200 respectivamente. 4. A seguir pressionar o quadrado [Background Color] e escolher como cor de fundo um laranja a partir da palette de cores.. 5. O último passo é definir a velocidade do filme em frames por segundo (fps). Quanto maior for o valor (fps) mais rápido o filme é reproduzido. Neste caso vamos usar 20 (fps). O painel [Document Properties] deverá ter este aspecto 6. Pressionar a tecla [OK] para fechar a caixa de diálogo. O filme vai reflectir as alterações efectuadas. Recomendamos que graves com frequência o teu trabalho. Por vezes ocorrem erros que provocam que o Flash se feche sem nos dar a possibilidade de gravar o que estavamos a fazer. Agora que o filme está configurado, vamos acrescentar texto, linhas e formas (shapes) na área de trabalho. Antes de criarmos animações, precisamos de criar objectos. Objectos no Flash podem ser qualquer coisa, desde uma linha, até textos ou imagens. Podemos converter os objectos em botões, gráficos ou movie clips, mas iremos discutir isto num próximo tutorial. Para já, vamos criar uma caixa e um texto como vimos no exemplo em cima. 7. Seleccionar a ferramenta [Text] no painel [Tools] que está normalmente no lado esquerdo do ambiente de trabalho. 8. Depois dar um clique e arrastar com o rato até termos uma caixa rectangular criada. Vamos ver uma caixa de texto com um cursor a piscar. 9. Escrever a frase [Flash MX]. 10. A seguir escolher a ferramenta [Arrow] no painel [Tools] e seleccionar a caixa de texto que acabamos de criar. 11. No painel [properties] fazer as seguintes alterações: Escolher a fonte Verdana Alterar o tamanho para 25 Pressionar o icon [B] para o texto ficar a bold Alterar a cor para branco. O painel [properties] deverá ter este aspecto À medida que efectuamos as alterações, o texto é actualizado em tempo real na área de trabalho.