Escolar Documentos
Profissional Documentos
Cultura Documentos
Crash Course 2 - Tradução
Crash Course 2 - Tradução
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
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
Configure o Group para Players como mostrado. Se voc precisar criar mais
grupos, clique no boto Edit Groups a direita de Group
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).
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
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
no
retngulo
quadriculado
para
adicionar
uma
animao
Escolha seu Grupo Coliso clicando na guia Properties e definindo seu Grupo
para Enemies, como mostrado abaixo.
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
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
15
16
Boto
mostrar
background
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
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
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
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
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 popup e escolha o atributo que acabamos de criar
rea de programao.
34
35
Encaixe o bloco embaixo do bloco if dentro do bloco Always como mostrado abaixo
36
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
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
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
position
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
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
item View
No quadro branco ao centro deve-se inserir um bloco width of self localizado em Actor
properties
46
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
Actor
Create
47
Clique sobre actor type e ser exibida uma caixa de dilogo onde deve-se selecionar o
actor bullet
Motion
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
+Add Event
Collisions
Actor of
50
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
51
Properties
Salve o seu jogo e teste-o. Em seguida, hora de configurar o que acontece quando
as balas colidem com as naves inimigas.
52
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
Basic
a Figura
Setters
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
Conditional
55
Conditional
figura
Insira o Atributo PontosVida no bloco [] <= [] no lado esquerdo do bloco para isso
acesse Attributes
Getters
PontosVida.
Properties
Alive/Dead
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
abaixo
O parmetro Sound deve ser modificada Explosion para isso clique em Sound
Choose Sound como visto na figura
57
Effects
J no parmetro apply effect devemos inserir um bloco make negative para isso
selecione Actor
Effects
Other
Time
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
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
mostrado na figura
61
Depois configure os parmetros Actor Group e created para Enemies e Killed como
mostrado na figura
Getters
Math
Increment /
Decrement
Conditional
Basic
When Updated
63
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
Setters
figura
Por ltimo precisamos adicionar um Evento When Drawing acessando + Add Event
Basic como pode ser visto na Figura
65
Styles
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
66
Drawing
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
Selecione a opo Flash para publicao. Esta opo criar um arquivo swf e pedir o
local onde ser salvo o arquivo.
68