Escolar Documentos
Profissional Documentos
Cultura Documentos
Crash Course 2 - Tradução PDF
Crash Course 2 - Tradução PDF
Voc vai ter uma caixa de dilogo que permite que voc nomeie o seu jogo e definir a
Largura e Altura da tela do jogo
1
Nomeie seu game como Invaders e defina a largura com 640 pixels e a altura
com 480 pixels.
Em seguida, clique na caixa grande no lado direito para criar o seu primeiro tipo
de ator
2
Voc ver a caixa de dilogo mostrada abaixo
3
A imagem que ser usada tem quatro quadros (frames) que quando tocadas
em ordem vo fazer a animao de voo. Uma vez que voc tenha selecionado a
imagem mude o valor no campo Columns para 4. Isto ir dividir a nossa imagem
uniformemente em quatro quadros, como mostrado abaixo
4
Em What kind of Actor Type? selecione a opo normal.
Em Can Rotate? selecione a opo No.
Em Affected by Gravity? selecione a opo No.
Configure o Group para Players como mostrado. Se voc precisar criar mais
grupos, clique no boto Edit Groups a direita de Group
5
Salve seu ator nave e seu game clicando em file e depois em save game.
Colises de atores
Temos um tipo de ator at agora, mas antes de continuarmos, precisamos
organizar nossos Tipos de Atores no que so chamados Grupos de coliso.
O Grupo coliso que um ator pertence, determina com quais outros atores que
podem (ou no podem) colidir. Para comear clique no boto Settings na parte
superior da interface do Stencyl.
A nova caixa de dilogo pop-up que mostra os grupos em seu jogo. (Note na
imagem que j criou os inimigos(Enemies) e balas (Bullets) como grupos - vamos
mostrar como criar um grupo nas etapas seguintes).
6
Clique no boto verde Create New na parte superior da janela Game Setting
Em seguida clique no boto verde Create New e crie outro grupo chamado
Bullets.
Agora precisamos definir o que pode colidir com o que. Clique o boto Enemies
no grupo Bullets, como mostrado abaixo. Deixe todos os outros botes cinza. Isto
significa qualquer tipo de Ator que pertencem ao Grupo Bullets s ser capaz de colidir
com tipos de Ator no Grupo Inimigos
7
Agora que temos nossos grupos de coliso criados nossos Bullets iro colidir
somente com algum ator que pertena ao grupo Enemies. E hora de criar dois novos
tipos de atores: o Bullets e Enemy Ship
8
Ns criamos nosso tipo de ator Enemy Ship e acrescentamos animao,
precisamos configurar o item Physics
Para isso clique no boto Physics como mostrado abaixo:
Escolha seu Grupo Coliso clicando na guia Properties e definindo seu Grupo
para Enemies, como mostrado abaixo.
9
Em seguida o tipo de ator Bullet seguindo os mesmo passos utilizados para
criar o Enemy Ship. Quando importar o grfico para a animao configure o valor de
Columns para 3 como mostrado
10
Clique no retngulo quadriculado no centro da Stencyl
Na caixa de dilogo que ser mostrada no campo Name digite Stars e clique no
boto Create.
11
Importando sons
Agora hora de importar nossas msicas e arquivos de sons. Desta vez vamos
mostrar a voc um caminho diferente para importar assets, atravs de arrastar e soltar
os arquivos. Primeiro clique na aba Dashboard e selecione a opo Sounds
12
Agora temos dois sons. Certifique-se de cada som est definido para o tipo
correto, como mostrado (msica deve ser definida como msica, efeitos sonoros
definidos para Sound Effect).
13
Criando uma cena
Clique na aba Dashboard e selecione a opo Scenes e clique no retngulo
quadriculado para criar uma nova cena.
Depois que voc pressionar o boto ser mostrado uma caixa de dilogo que
permitira definir alguns parmetros bsicos para sua cena. Note que voc pode
escolher o tamanho da sua cena usando pixel ou tiles (tanto na largura como na altura
como mostra a figura abaixo). Neste caso estamos usando Tiles e vai usar os valores
padro, como mostrado.
14
Aqui est a nossa cena.
15
Selecione a imagem de fundo disponvel na caixa de dilogo que aparece, e
pressione o boto OK.
16
Clique o boto Scene na barra superior do Stencyl pressione o boto mostrar
background no canto superior direito do editor, como mostrado. Voc ver a imagem
de fundo aparecer no editor.
Boto
mostrar
background
17
Se a cena for exibida, tudo est funcionando, e voc pode seguir em frente. Se
no, voc pode obter ajuda clicando no boto Need Help em seguida, escolher
uma opo na caixa de dilogo que aparece.
18
Clique na aba Actors no editor de cenas na Paleta direita. Voc ver os trs
tipos Atores que criou anteriormente.
Agora ns queremos colocar atores individuais na cena. Voc deve usar a ferramenta
Pencil ( esquerda, como mostrado) para colocar Atores.
Com a nave selecionada, mova o cursor para o fundo da cena e clique esquerdo do
mouse. A nave ir aparecer. Voc s quer uma nave para o jogador controlar.
19
Dica: Para colocar atores em intervalos regulares, mantenha pressionada a tecla Shift,
que ir alinhar um ator com a grade de Tile. Voc pode fazer a grade aparecer
pressionando o boto Show Grid.
20
Dica: Se qualquer um dos seus atores no aparecerem na tela, mesmo o que voc
colocou na cena, verifique as definies da janela do jogo (do visor). A sua largura
deve ser de 640 e altura deve ser 480. Clique em Settings
21
Se voc colocar um ator fora dos limites da janela de visualizao, voc no vai ver os
atores que voc colocou em sua cena. Alm disso, observe que voc pode fazer uma
cena que maior do que o visor do jogo.
Agora, temos uma cena bsica completa. Verifique se est tudo certo utilizando o
boto Test Game
22
Voc dever ver sua nave na base da cena e os cinco naves inimigas flutuando perto
do topo.
23
Isso abrira o modo estrutura do Stencyl onde podemos programar a lgica do game.
Neste caso criaremos um evento diretamente ao invs de criar um comportamento
modular.
Nota Importante: Geralmente, voc quer criar comportamentos, porque voc pode
adicion-los a qualquer tipo de ator ou cenas que voc deseja. Comportamentos so
feitos de eventos, por isso pense um comportamento como um recipiente de eventos
porttil. Estamos adicionando eventos diretamente aqui, porque no reutilizaremos
qualquer coisa que estamos fazendo aqui - o evento movimento para o nossa nave
no se aplicam aos Atores nave inimiga, por exemplo.
24
Clique no boto + Add Event no painel Events no lado esquerdo da tela mova o mouse
sobre Basics option e depois clique sobre When Creating.
25
Na paleta Design Mode que esta localizada no lado direito da tela clique no boto
sound
Clique em sound para exibir a caixa de dilogo que ira permitir que selecione o som
que deseja
26
Clique na opo Choose Sound e selecione a msica que importou anteriormente.
Salve seu game (pressione Ctrl + S) em seguida clique no boto verde Test Scene. Se
tudo estiver certo a musica ser executada de fundo.
27
Agora que estamos na rea de edio da nave clique no boto Events que se encontra
na parte superior da interface
Esta ao abrir o modo design. Vamos criar um evento que nos permitir mover
nosso Ator nave na cena da esquerda para a direita, pressionando as teclas do
teclado. Para fazer isso, preciso especificar o que acontece quando o jogador
pressiona determinadas teclas do teclado e o que acontece quando o jogador no est
pressionando nada.
Para comear clique no boto + Add Event no painel Events no lado esquerdo da
interface selecione Basics e depois escolha When Updating
28
O bloco seguinte aparecer na rea de trabalho:
Desta vez, em vez de arrastar um bloco da Paleta, vamos usar o seletor de bloco.
Clique com boto direito do mouse em qualquer lugar na rea de trabalho, clique na
opo Place a Block Flow Conditions if
29
30
Clique em Input e depois na forma hexagonal que ser exibida na diviso keyboard
(esta forma sempre para um booleano, ou seja, um valor que pode ser verdadeira ou
falsa, em Stencyl).
O bloco Always checa o que est acontecendo a cada quadro, enquanto o jogo
est sendo executado. O bloco if de dentro checa (usando um teste booleano) se algo
est acontecendo e o bloco Control is down testa se uma tecla foi pressionada. Agora
precisamos selecionar qual tecla ser checada. Clique no retngulo Control e
selecione a opo Choose Control.
31
A caixa de dilogo abaixo ser mostrada
Selecione a opo right. Novamente, o bloco ser alterado para refletir esta escolha.
32
Agora precisamos criar um atributo que podemos usar para ajustar o valor de x-speed.
Ao fazer isso, no ser necessrio alterar o valor da velocidade diretamente no bloco
em nosso evento cada vez que desejarmos faz-lo. Clique no boto Attributes na
Paleta, em seguida, clique no boto Create an Attribute.
Agora voc tem um bloco azul para o atributo VelocidadeNave que pode ser ajustado
para valores diferentes. Ns vamos mostrar-lhe como definir o seu valor quando
completarmos este evento.
33
Clique no campo X do bloco set x-speed to selecione Attributes no menu pop-
up e escolha o atributo que acabamos de criar
34
35
Encaixe o bloco embaixo do bloco if dentro do bloco Always como mostrado abaixo
36
Ao aplicar o negate em VelocidadeNave, a nave vai se mover na direo x
negativo, o que significa para a esquerda.
Agora sua nave pode se mover, mas no vai parar quando o jogador solta uma
tecla. Precisamos garantir que isso acontea para isso arraste e encaixe outro bloco
otherwise if abaixo do otherwise if anterior e depois adicione um bloco and, para isso
selecione Flow Conditional
37
Agora clique no do lado esquerdo do bloco and selecione o item Comparison
e depois o bloco not
Adicione os blocos [right] [is down] e [left] [is down] em cada um dos not
adicionados anteriormente.
Pegue agora um bloco set x-speed to [ ] for [Self] e o encaixe na parte inferior
do bloco otherwise if e coloque o valor 0 em to como mostrado na figura abaixo
38
A ltima coisa que precisamos fazer definir o valor de velocidade da nave.
Clique na aba Attributes na parte inferior da paleta.
39
Teste o game para garantir que a nave esta se movendo para esquerda quando
pressiona a seta esquerda, para a direita quando pressiona a seta direita e para
quando nenhuma das duas esto pressionadas. Agora que voc est mais
familiarizado com Design Mode hora se seguir em frente e desenvolver mais
eventos. Nossa nave pode se mover para esquerda e direita, mas no existe um
evento que evite que a nave desaparea para fora da rea de jogo. A prxima tarefa
restringir o movimento da nave a rea do jogo.
40
Agora temos que verificar se a posio da nave no est alm da borda esquerda,
para isso faremos o seguinte:
Na aba Conditional no item Equality selecione o bloco menor que
41
Agora selecione a aba actor position x of self e arraste um bloco x of self para o
quadro direito do bloco menor que e configure o parmetro para x (on Screen), no
quadro esquerdo digite o valor 0.
42
No bloco otherwise if verificar se a nave atingiu a borda direita da tela do jogo, para
isso na aba Conditional no item Equality selecione o bloco maior que
Agora no lado esquerdo do bloco deve ser inserido um bloco x of Self e configurado o
valor x(on screen)
43
J no lado direito devemos inserir um bloco subtrao, para isso selecione Number &
Text Math bloco subtrao
No bloco subtrao colocaremos a largura da tela menos a largura da nave, para isso
no lado esquerdo do bloco subtrao ser inserido o bloco screen width, devemos
selecionar a aba Scene View como mostrado na figura abaixo
J no lado direito do bloco subtrao colocaremos um bloco width of self, para isso
selecionaremos a aba actor Properties Size width of Self
44
Explicando o cdigo:
No primeiro bloco if verifica-se se a posio da nave menor do que 0 sabendo que o
inicio do plano cartesiano em Stencyl no topo a esquerda da tela, essa condio nos
diz se a nave esta no final da tela do lado direito.
J no bloco otherwise if verifica-se se a posio da nave maior que o tamanho da
tela que obtido pelo bloco screen width subtraindo o prprio tamanho da nave. Se
no for efetuada essa subtrao a nave estar fora da tela quando a condio for
atendida.
Dando prosseguimento devemos redefinir a posio da nave quando cada uma das
condies for atendia a nave deve ser reposicionada na borda da tela que atingiu
dando a impresso que a nave esta presa dentro da rea do jogo.
No bloco if ser inserido um bloco set x to[] for self e deve ser configurado o valor 1
para atualizao da posio da nave. Aps este procedimento a programao dever
ficar como visto na figura abaixo:
45
J no bloco otherwise if ser inserido um bloco set x to[] for self e deve ser com dois
blocos subtrao como mostrado abaixo
No quadro branco ao centro deve-se inserir um bloco width of self localizado em Actor
properties Size. O resultado final ser o apresentado na figura abaixo.
46
No bloco que aparece, defina no controle action 1, como mostrado.
Agora precisamos inserir dois blocos, um que cria o Ator bala e outro que cria sua
movimentao.
Para inserir o primeiro bloco deve-se selecionar o boto Scene Actor Create
Actor create actor type como exibido na figura abaixo:
47
Clique sobre actor type e ser exibida uma caixa de dilogo onde deve-se selecionar o
actor bullet
O segundo bloco esta localizado em actor Motion Force push Self como mostra a
figura abaixo
48
No parmetro Self configure o valor Last Created Actor como exibido na figura abaixo
Agora deve-se definir onde a bala ser criada e a direo do movimento da mesma
para isso devemos selecionar Actor Position x of Self
49
A partir daqui ser definida a direo de movimento e a fora do Ator bala, para isso
ser configurado o parmetro xDir para 0, yDir para -1 e Force para 40 esses
parmetros esto no bloco push Last Created Actor conforme exibido na figura abaixo
Destruindo as balas
Abra o Actor Bullet para isso selecione a aba Dashboard e clique em Actor Type e
selecione Bullet e pressione enter
50
Agora necessrio configurar o evento inserido, clique parmetro actor type e na
opo choose actor type no mostra a figura abaixo
Agora necessrio inserir o bloco kill self para destruir a nave inimiga, para isso
selecione a aba actor properties kill self
Agora cada ator bala ser destrudo quando colidir com a nave inimiga.
Em seguida para garantir que as balas sero destrudas quando sarem da tela
preciso adicionar um evento para quando um ator entra ou sai da tela.
Para isso clique em Add Event Actor Enters or Leaves the Scene or Screen
Specific Actor como mostra a figura:
51
Altere os menus dropdown do bloco de eventos e acrescente um bloco kill acessando
actor Properties kill [self] como mostra a figura
Salve o seu jogo e teste-o. Em seguida, hora de configurar o que acontece quando
as balas colidem com as naves inimigas.
52
Destruindo as naves inimigas
Abra o Ator tipo Enemy Ship para isso clique em Dashboard depois em Actor Types e
depois de um duplo clique em Enemy Ship em seguida clique em + Add Event
Collision e Actor of Group como mostrado.
Aqui a lgica bsica que queremos criar: se um ator que um membro do Grupo de
balas colide com a nave inimigo ("Self", neste caso), subtrair vida. Se a nave inimiga
no tem vida, ou seja, menor ou igual a 0, matar a nave inimiga.
Para comear, crie um novo atributo, selecione o tipo numero e o nomeie como
PontosVida. Para isso clique no boto Attributes e no boto Create an Attributes
53
Agora crie um evento(clique em + Add Event Basic When Creating) como mostra
a Figura
Em seguida volte para o evento Actor Group configure Collision Group para balas
em Collision Event e depois insira um bloco increment localizado em Numbers & Text
Math category e modifique increment para decrement clicando o menu dropdown do
bloco como mostra a figura
54
Por ultimo precisamos adicionar um evento que checa o valor do PontosVida da nave
inimiga e se o valor for zero a nave ser destruda. Para comear clique no boto +
Add Event Basic When Updating como mostra a figura
Agora insira um bloco if no bloco Always para isso selecione Flow Conditional
Conditionals if como demostrado na figura
55
Agora adicione um bloco [ ] < = [ ] (Flow Conditional Equality) como visto na
figura
Insira o Atributo PontosVida no bloco [] <= [] no lado esquerdo do bloco para isso
acesse Attributes Getters PontosVida.
Depois insira um bloco Kills [Self] para isso acesse Actor Properties Alive/Dead
como visto na figura
Configure o tempo de delay para 1.4 segundos este o tempo necessrio para
que a nave inimiga esteja na tela e depois que o som seja reproduzido e logo aps a
nave removida.
56
Para o som ser executado precisamos inserir um bloco play sound. Devemos
selecionar o item Sound Playback Play Sound como demonstrado na figura
abaixo
O parmetro Sound deve ser modificada Explosion para isso clique em Sound
Choose Sound como visto na figura
57
Precisamos adicionar um efeito no Ator Inimigo para mostra ao jogador quando o
inimigo atingido. Na lista de Eventos selecione o Actor-Group anteriormente criado
J no parmetro apply effect devemos inserir um bloco make negative para isso
selecione Actor Effects Other bloco make negative como demostra a figura
Agora necessrio inserir um bloco do after para isso selecione Flow Time
Delayed como visto na figura abaixo
58
Configure o parmetro do bloco do after para o valor .1 e para finalizar insira um bloco
com remove all effects from para isso acesse Actor Effects Add / Remove como
mostra a figura
Devemos configurar o bloco when Self no parmetro Actor Group com o Bullets para
isso clique sobre Actor Group Choose Group Bullets
59
Na caixa de dilogo que ser exibida configure o parmetro name como FontePadrao
conforme a figura
60
Agora precisamos criar um evento que ir verificar quantas naves inimigas esto na
tela e se no houver nenhuma ir mostrar uma mensagem de vitria usando a fonte
que foi criada.
Ganhando o Game
Agora precisamos criar um evento na cena que permitir o jogador vencer. Ele ir
verificar quantas naves inimigas existem na tela e se o jogador destruiu todas elas, o
evento mostra uma mensagem.
Para comear selecione Dashboard Scene e selecione a cena NivelUm como
mostrado na figura
61
Depois configure os parmetros Actor Group e created para Enemies e Killed como
mostrado na figura
Agora insira um bloco Increment acessando Number & Text Math Increment /
Decrement
63
Adicione um bloco equals para isso acesse Flow Conditional Equality como
mostra a figura
Agora precisamos criar outro atributo que ser usado para acionar o texto que ser
exibido quando o jogador mata todas as naves inimigas. Devemos seguir os passos
abaixo:
1. Criar um novo atributo do tipo boolean chamado vencer
64
2. Insira um set Vencer to acessando Attributes Setters Boolean como visto na
figura
Por ltimo precisamos adicionar um Evento When Drawing acessando + Add Event
Basic como pode ser visto na Figura
65
Acesse a categoria Drawing Styles Color and Font e selecione um bloco set
current font to como visto na figura
Configure o parmetro font para isso clique sobre font e sobre choose font e na caixa
de dilogo que ser exibida selecine FontePadrao e clique em OK como mostra a
figura
Coloque agora um bloco if logo abaixo do set current font to para isso acesse Flow
Conditional Conditionals como pode ser visto na figura
66
Configure o parmetro do bloco if com o atributo Vencer como demostrado na figura
Insira um bloco draw text acessando Drawing Drawing Basic como pode ser visto
na figura
Configure o parmetro text com: Voc Venceu! ; o parmetro x com o valor: 300; e y
com: 240 como mostra a figura.
Tenha em mente que estamos definindo coordenadas exatas para onde o texto deve
aparecer. Se voc alterar o tamanho da janela do jogo (viewport's) para um tamanho
diferente de uma largura de 640 e uma altura de 480, ter que ajustar os valores X e Y
para que o texto seja centralizado.
67
Publicando seu game
Agora que voc j testou o seu jogo e tudo funciona, hora de export-lo para o seu
desktop como um arquivo SWF. Deste modo voc pode abrir o arquivo em qualquer
browser para jogar o game! Clique no boto Publish na parte superior direita da tela
como demostra a figura
Selecione a opo Flash para publicao. Esta opo criar um arquivo swf e pedir o
local onde ser salvo o arquivo.
68