Conheço muita gente que não gosta de jogos em Flash. Mas muitos deles dizem que não gostam porque não podem programar jogos para ele. Ou porque não podem pagar pelo Adobe Flash, e outros porque usam Linux. Eu já citei algo sobre isso no post Por que eu gosto de jogos em Flash?
Como muitos sabem, a Adobe tem o Flex SDK, que são o compilador e as bibliotecas do Flex Builder, só que OpenSource. Com ele você já tem o suficiente para desenvolver qualquer jogo em Flash utilizando ActionScript 3 e as bibliotecas do Flash.
Então resolvi criar um pequeno guia para iniciar na programação de jogos em Flash no Linux. Eu aqui estou usando o Ubuntu Karmic Koala, mas acredito que não vai mudar muita coisa para outras distribuições.
Instalando o Flex SDK
Primeiro de tudo você tem que instalar o Sun JDK. Se você estiver usando qualquer distro debian-based, você pode instalar direto pelo apt-get assim:
$ sudo apt-get install sun-java6-jdk
Caso esteja usando outra distro, você pode baixar a JDK diretamente pelo site do Java. Agora baixe a SDK do Flex no site da Adobe. É um pouquinho grande, tem cerca de 120MB. Agora extraia o conteúdo do arquivo no diretório /opt/flex, que você deve criar. Supondo que você baixou o arquivo flex_sdk_3.5.zip na pasta Downloads:
$ sudo mkdir /opt/flex $ cd ~/Downloads $ unzip flex_sdk_3.5.zip -d tmpflex $ sudo mv tmpflex/* /opt/flex/ $ rm -rf tmpflex
Pronto, você já extraiu a SDK do flex para a pasta /opt/flex, se quiser ter certeza disso, pode dar um:
$ cd /opt/flex $ ls
Se você ver um monte de arquivos e pastas é porque deu tudo certo. Entretanto, você precisa adicionar a pasta bin ao PATH, para que você possa chamar o compilador pelo shell. Então faça o seguinte:
$ sudo echo "export PATH=/opt/flex/bin:$PATH" >> ~/.bashrc
Isso vai adicionar a linha export PATH=/opt/flex/bin:$PATH ao arquivo .bashrc, o que dizer que a pasta de binários do Flex SDK vai poder ser acessada pelo shell. Agora feche todas as suas janelas de terminal, abra uma e teste se tudo está ok:
$ mxmlc --version
Se ele mostrar a versão é porque está tudo funcionando perfeitamente.
Instalando o FlashPlayer Standalone
Depois de instalar o SDK do Flex, você já pode programar normalmente e testar seus SWF’s em um navegador. Mas isso não é aconselhável porque dessa forma você não pode ver os erros de runtime que acontecerem no seu jogo. Então vamos instalar o FlashPlayer Standalone. Primeiro de tudo, baixe o pacote com o player normal e o player com debugger aqui no site da Adobe. Mais uma vez vamos extrair e instalar:
$ cd ~/Downloads $ tar xzvf flash_player_10_linux_dev.tar.gz $ cd flash_player_10_linux_dev/standalone/debugger $ tar xzvf flashplayer.tar.gz $ sudo mv flashplayer /usr/bin/ $ cd ~/Downloads $ rm -rf flash_player_10_linux_dev
Pronto, teste agora para ver se o flashplayer foi instalado:
$ flashplayer
Onde programar?
Aqui é a parte onde a programação para Flash no Linux me decepciona um pouco. No Windows nós temos o FlashDevelop, que é uma ótima IDE OpenSource. Para Linux eu testei vários plugins para Eclipse e para NetBeans e, infelizmente, não consegui fazer nenhum deles funcionar. São, em sua maioria, muito antigos e sem suporte para as novas versões dessas maravilhosas IDE’s.
Mas há plugins de colorização de código para editores como o VIM, ou o gedit. Para instalar o plugin de colorização ActionScript 3 no gedit, baixe esse arquivo actionscript3.lang e então coloque na pasta /usr/share/gtksourceview-2.0/language-specs/.
Criando um joguinho em ActionScript 3
Depois de tudo isso, vamos criar algo bem básico só para mostrar como é a programação em ActionScript no Linux. Primeiro de tudo, crie uma pasta para o seu projeto:
$ mkdir asgame $ cd asgame
Agora então crie uma classe bem básica em AS3:
package {
import flash.display.Sprite;
// Define algumas características do SWF
[SWF(width="640", height="480", frameRate="60", backgroundColor="#00CC00")]
public class Game extends Sprite {
public function Game()
{
trace ("Jogo iniciado!");
}
}
}
Essa é a classe mais simples possível, ele apenas vai ter o fundo verde e vai exibir um texto no console. Salve como Game.as. Para compilar, basta chamar o mxmlc:
$ mxmlc Game.as
Depois para testar, você chama o flashplayer passando o Game.swf (que acabou de ser compilado):
$ flashplayer Game.swf
Você também pode testar isso no seu navegador.
Eu costumo criar um script, ou um alias para fazer isso pra mim. Veja como ficaria um script run.sh:
#!/bin/sh mxmlc Game.as && flashplayer Game.swf
Então fica facinho compilar e testar a cada alteração no código:
$ ./run.sh
Ou simplesmente criar o alias run para compilar de uma vez:
$ alias run="mxmlc Game.as && flashplayer Game.swf"
E chamar usando:
$ run
Frameworks
Não poderia de citar alguns frameworks para o desenvolvimento de jogos em ActionScript 3.0 (com o Flex SDK):
Não testei a fundo nenhuma das três. Instalei e fiz alguns testes bem básicos com a flixel e com a PushButton, mas nada de interessante que eu possa postar aqui. Por isso vou deixar essa parte para um futuro post.
Conclusão
Eu comecei a criar meu primeiro joguinho em ActionScript 3 com a Flex SDK no Linux há pouco tempo. Já deveria tê-lo terminado, mas não consegui por outros fatores. Entretanto, você pode acessar o código-fonte do BallCanoide em desenvolvimento no GitHub.
No começo eu procurei usar alguns frameworks que eu citei acima, mas percebi que para esse caso eu não precisaria, pois só as bibliotecas do Flash mesmo seriam suficiente. Ainda mais que eu já tinha algum conhecimento delas.
Espero que esse pequeno guia ajude pessoas que não sabem como programar jogos em flash no Linux a começar nessa área. Ainda essa semana eu pretendo escrever um post sobre como utilizar o InkScape para criação de recursos gráficos para jogos em ActionScript com Flex SDK. Já que o Flash trabalha com imagens vetoriais nativamente, nada mais natural que usar SVG. Aguardem. =D
Posts semelhantes:











Contato
13 Comments
Bacana! =D
Aos poucos o desenvolvimento na plataforma Flash no Linux está crescendo!
Muito bom, creio que vai ajudar muitas pessoas que não tem Windows (como eu) e queiram desenvolver em flash. Realmente não tem muitas IDEs Flash com boa qualidade que funcionam no Linux, o problema do FlahDevelop é que ele é feito em .NET, o que não é um grande problema pois felizmente (ou infelizmente) temos no Mono, parace que alguem está tentando portar o flashdevelop para linux dê uma olhada:
http://www.flashdevelop.org/community/viewtopic.p…
Também roda com wine, mas algumas coisas não funcionam, veja:
http://appdb.winehq.org/objectManager.php?sClass=…
Parabéns pelo site!
Abraços.
Æ!!
Parabens pelo post cara! Tenho o flash funcionando para desenvolvimento no meu Linux agora!
Depois preciso fazer umas brincadeiras, e realmente espero o seu post sobre importação de SVG, por que como vc sabe eu sou um grande fã do Inkscape e vou achar muito legal fazer coisas em SVG e importar.
Quem sabe no próximo contest podemos usar as no Linux
Há braços
@Andrei
Não sei. Mas isso é bom porque quebra o preconceito de algumas pessoas a respeito do Flash. Mesmo em tempos de HTML5, o Flash ainda reina. Por quê? Claro que a ideia de criar jogos com o Canvas e JavaScript é interessante. Mas ainda não é uma solução. E novas versões do FlashPlayer prometem muito.
@Leonardo
É complicado mesmo. Enquanto ninguém consegue portar o FlashDevelop perfeitamente para Linux, ou criar algum editor bom, agente tem que viver assim. Acho que uma extensão para NetBeans, por exemplo, seria ótima.
Ah, não citei no post, mas aconselho muito é o editor Kate. Em alguns casos eu acho ele melhor que o gedit, ainda mais quando for trabalhar com um projeto. Vale a pena dar uma olhada.
@PotHix
Valeu, cara. Pode deixar, eu vou postar sobre isso assim que possível. Mas vou escrever um "Criando Flash Games no Linux 2", porque aí já aproveito e comento como debugar SWF com o FDB (que é muito parecido com o GDB) e ainda outras coisinhas sobre o assunto.
Valeu pela força, galera. =D
Bacana o tutorial. Sempre é bom saber de alternativas. Logo pretendo começar a estudar Action Script, mas antes quero ter um bom conhecimento em C++, o que me parece uma tarefa infinita
Pingback: Como criar jogos em Flash no Linux - Parte 2 | CrociDBlog
Pingback: Criando jogos em Flash no Linux
Já ouvi falar do Flex, más a idéia das aplicações (jogos), eu realmente não havia pensado ainda.
Muito legal.
Pingback: dropjack.com
Pingback: Por que eu gosto de jogos em Flash? | CrociDBlog
Pingback: Jogos casuais com Unity 3D? | CrociDBlog
Pingback: Flash Games para Dispositivos Móveis (Android) | CrociDBlog
site mto bom