Escolar Documentos
Profissional Documentos
Cultura Documentos
94 capítulo 2
152 capítulo 3
240 capítulo 4
319 capítulo 5
378 capítulo 6
448 capítulo 7
533 capítulo 8
597 capítulo 9
índice
capítulo 1
desenvolvedor
de games júnior
daily
5 Min.
professor
5
Seja bem-vindo(a) ao curso de Desenvolvedores de Games e Apps! Hoje,
você iniciará uma jornada para conhecer coisas incríveis do mundo STEAM
(Ciências, Tecnologia, Engenharia, Artes e Matemática)! Nesse primeiro
módulo, você conhecerá os principais conceitos de lógica de programação
e iniciará o desenvolvimento de um game com o tema ‘geolocalização’.
Você está preparado(a)?
Objetivos da aula
6
back-end
7 Min.
professor
Ei, você que está prestes a se tornar um fluente digital, me conta aí: você
usa conceitos de programação no seu dia a dia? Eu aposto que sim! Para
entender o conceito que será apresentado nessa aula, vamos começar
com algo bem simples: pense em sinais que ocorrem ao longo do dia que
te indiquem que algo precisa ser feito. Por exemplo, quando você observa
nuvem de chuva no céu, você fecha a janela. Quando o despertador toca,
você se levanta. E por aí vai! desenvolvedor de games júnior | módulo 1 | capítulo 1
Agora você deve estar se perguntando: “tá, mas e o que isso tem a ver com
tecnologia?”. Tem tudo a ver! Sabe por quê? Os computadores não pensam
como nós humanos, por isso, sempre que precisamos criar algum jogo,
resolver um problema ou desenvolver um programa, precisamos estipular
quando determinados passos devem ser executados. E, para isso, usamos
os ‘eventos’. Um evento é uma ação ou acontecimento que é detectado
por um computador e faz com que alguma coisa aconteça. Temos, por
exemplo, eventos que são ativados com o clique do mouse, o pressionar de
8
um botão e etc.
Agora que você conheceu este conceito, consegue pensar em mais eventos
que utiliza na sua rotina?
professor
bugou
Quando você aprende como programar, você desenvolve seu cérebro! Afinal, fica mais
fácil analisar situações e você pode desenvolver muitas outras habilidades importantes
como a melhoria da escrita, o pensamento crítico, o trabalho em equipe e o raciocínio
lógico! Então, vamos colocar essas habilidades em prática? desenvolvedor de games júnior | módulo 1 | capítulo 1
Referências:
https://bit.ly/FT_M1A1_1
https://bit.ly/FT_M1A1_2
https://bit.ly/FT_M1A1_3
9
front-end
68 Min.
professor
Você já parou para pensar como era a vida antes da eletricidade e das
tecnologias digitais?
Pois é, na época dos Grandes Descobrimentos, entre os séculos XV e XVI,
as pessoas utilizavam navios movidos a velas para se locomover de um
continente a outro. Imagine só a dificuldade dos navegadores para velejarem
na direção correta. Para conseguirem essa façanha, eles utilizavam as
11
‘cartas náuticas’, uma espécie de mapa navegável, desenhado em papel
com linhas e ângulos que indicavam as direções a serem seguidas (latitude
e longitude). Além disso, eles se orientavam pela posição do sol e de
determinadas estrelas e também utilizavam alguns instrumentos (a
tecnologia daquela época) como: a bússola, que indicava a direção norte e
sul dos polos magnéticos da Terra, o sextante e o astrolábio, que mediam
os ângulos entre essas estrelas e o horizonte. Somando essas informações
com os conteúdos das cartas náuticas e fazendo um punhado de cálculos
à mão e sem calculadora, era possível determinar a localização atual do
navio e do ponto de chegada pretendido e, assim, traçar uma ‘rota de
navegação’. O problema é que o navio se movia e, de tempos em tempos
era necessário ‘recalcular a rota’ e fazer aquele montão de cálculos
novamente. A ciência foi evoluindo e hoje chegamos à geolocalização, isto
é, um recurso que permite determinar a posição geográfica de um dispositivo
com base em um sistema de coordenadas. Um exemplo de uso de
geolocalização está no GPS, Global Positioning System (sistema de
posicionamento global). Ele utiliza satélites para fazer cálculos muito mais
precisos e à disposição de qualquer pessoa, bastando dispor de um celular
e um aplicativo de localização. desenvolvedor de games júnior | módulo 1 | capítulo 1
12
Hoje, você iniciará o desenvolvimento de um game que envolve os conceitos
vistos na introdução dessa aula. Nele, o objetivo principal do personagem
será explorar o desconhecido em busca de um pergaminho para montar
um mapa que auxilie futuros exploradores. Então, chegou a hora de colocar
a mão na massa. Siga o passo a passo e divirta-se!
Referências:
https://bit.ly/FT_M1A1_4
https://bit.ly/FT_M1A1_5
https://bit.ly/FT_M1A1_6
https://bit.ly/FT_M1A1_7
https://bit.ly/FT_M1A1_8
professor
13
Passo 1 - Acesse o site: make.gamefroot.com . Assim que a página
carregar, clique no botão ‘Login’, no canto superior direito.
14
Passo 3 - Para criar uma conta, leve o mouse até a opção ‘Create Account’
(criar conta).
15
Passo 5 - Pense em um nome que você se lembre facilmente para criar
o usuário. O site não permite que você crie uma conta com um usuário já
existente. Se esse nome for aprovado, aparecerá uma confirmação visual
na tela.
desenvolvedor de games júnior | módulo 1 | capítulo 1
16
Passo 6 - No campo ‘What best describes you?’ (o que melhor descreve
você?), escolha a sua preferência e o objetivo da sua conta no Gamefroot.
Passo 7 - Agora, insira o seu e-mail no campo ‘Your email’. Pode ser
qualquer conta (Google, Hotmail, Outlook etc.). É muito importante que
você se lembre de seu e-mail e senha para que consiga recuperar suas
desenvolvedor de games júnior | módulo 1 | capítulo 1
professor
17
Passo 8 - Feito os passos anteriores, clique no campo ‘Your password’
para inserir a sua senha. Ela precisa ter, no mínimo, oito caracteres, sendo
que pelo menos um deles precisa ser numérico. Repita a senha no próximo
campo para certificar que são iguais. Caso sejam diferentes, aparecerá
desenvolvedor de games júnior | módulo 1 | capítulo 1
na tela uma notificação com letras vermelhas. Repita o processo até que
a senha digitada seja igual nos dois campos, e clique no botão ‘Create
Account’, para criar a conta.
18
Passo 9 - Finalizado o cadastro, você será enviado para a tela de
‘Dashboard’ (painel) do Gamefroot. É nela que começaremos a criar os
projetos.
19
Passo 10 - Clique no botão ‘New Blank Game’ (novo jogo em branco) para
criar um game do início.
20
professor
21
Passo 14 - Ao centro, encontramos a ‘Área de Trabalho’. É aqui que
projetamos visualmente nosso cenário, colocamos os personagens, os
inimigos e os obstáculos do game. Nela, temos um menu com alguns botões
importantes, como ferramenta para selecionar itens, pincel, borracha e caixa
de texto. Ao longo do projeto, você usará todas as opções disponíveis.
22
Passo 16 - Como este é o seu primeiro projeto, você usará componentes
que a própria plataforma disponibiliza gratuitamente, como cenário,
personagem, dentre outros elementos. Para começar, leve o mouse até a
‘Faixa de Opções’ e clique em ‘Explore Market’ (explorar o mercado).
23
desenvolvedor de games júnior | módulo 1 | capítulo 1
Passo 18 - O pacote ‘Nga Takaro’ será aberto, e nesta tela será possível
observar todos os itens disponíveis que podemos utilizar em nosso game.
24
professor
25
Passo 19 - Depois de observar todos os itens disponíveis para utilizarmos
no game, volte no topo da página, clique em ‘GET FOR FREE’ (obter
gratuitamente) e espere o pacote ser adicionado ao projeto.
26
Passo 21 - Depois, leve o mouse até a barra de rolagem da ‘Faixa de
Opções’, e desça até o final para observar como os itens foram classificados
e ordenados.
27
professor
28
professor
//
29
Passo 22 - Chegou a hora de começar a criar e estruturar as ‘layers’
(camadas). Uma camada é como uma folha de vidro transparente sobre
a qual os objetos são colocados. Elas podem ser usadas para mostrar
diferentes grupos de objetos que estão na frente ou atrás uns dos outros,
e permitem organizá-los. Os objetos/personagens conseguem interagir se
estiverem na mesma camada. Normalmente, tudo o que fica no fundo irá
para a camada de trás ‘Background’ (plano de fundo). Os personagens e
os itens com os quais eles irão interagir ficam na camada central ‘Main’
(principal). E, por último, tudo o que faz parte da interface da tela, como as
barras de vida, textos e pontuação, por exemplo, ficam na camada da frente
‘Hub’. Assim, os objetos inseridos na camada principal não irão interagir
com os das outras camadas.
30
Passo 23 - No submenu que surgiu, podemos criar uma nova camada vazia,
ou uma camada denominada ‘Tile Map’ (mapa de ladrilho). Essa camada é
usada especificamente para criar cenários, em que usaremos objetos/itens
denominados ‘Tiles’ (ladrilhos). Portanto, clique em ‘New Tile Map’ (novo
mapa de ladrilho).
31
Passo 24 - Perceba que uma camada foi adicionada ao painel de ‘Layers’,
denominada ‘Tilemap’. Note que sua tela está quadriculada; isso indica que
usaremos esses quadrados para posicionarmos os itens do cenário.
32
Passo 25 - Então, vamos entender como posicionar as plataformas que
farão parte do cenário que o jogador irá explorar. Queremos deixar esse
espaço similar aos lugares desconhecidos que os grandes exploradores
desbravavam. Para começar, na ‘Faixa de Opções’, clique no ‘Tile’ de sua
preferência. Nesta imagem, selecionamos o último disponível do pacote.
Clique com o botão esquerdo do mouse em cima do que você escolheu e
leve-o para a ‘Área de trabalho’. Perceba que o ‘tile’ acompanha o movimento
do mouse.
33
Passo 26 - Então, clique com o botão esquerdo em alguns lugares aleatórios
da ‘Área de Trabalho’. Perceba que o ‘Tile’ vai sendo inserido de acordo
com os cliques.
34
Passo 28 - Depois, experimente expandir o movimento para baixo: clique,
segure o clique e arraste o mouse. Perceba que as plataformas são
construídas conforme os movimentos que realizamos.
35
Passo 30 - Como estamos aprendendo a criar estruturas, fique à vontade
para explorar essa função.
36
37
desenvolvedor de games júnior | módulo 1 | capítulo 1
Passo 31 - Agora que você já sabe como fazer para construir plataformas
do zero, vamos montar estruturas com um molde para criar um mapa.
Antes, vamos apagar os ‘tiles’ que foram inseridos na tela do game. Então,
procure pela borracha que está na parte superior esquerda, sobre a ‘Área
de Trabalho’.
38
Passo 32 - Depois, com o mouse na tela, clique com o botão esquerdo,
segure o clique e arraste a borracha para os lados, para cima e para baixo.
Perceba que as plataformas que haviam sido criadas começam a ser
apagadas.
39
Passo 33 - Apague todos os ‘tiles’ que foram inseridos, até deixar sua tela
vazia novamente.
41
Passo 36 - A estrutura que aparecerá faz parte do pacote que você baixou.
Ela mostra um modelo de como sua fase pode ser organizada e representará
o mapa que o personagem utilizará para sua exploração. Agora, clique em
qualquer lugar de sua ‘Área de Trabalho’ para posicionar essa estrutura.
42
Passo 38 - Na parte superior esquerda da ‘Área de Trabalho’, selecione
a seta. Então, arraste a imagem para que ela fique no topo esquerdo da
tela. Com a tecla ‘SHIFT’ do teclado pressionada, aperte também o botão
esquerdo do mouse sobre a lateral inferior direita da imagem e arraste-a
para aumentar o mapa proporcionalmente até o outro lado.
43
44
desenvolvedor de games júnior | módulo 1 | capítulo 1
Passo 39 - Vamos voltar o zoom para continuarmos a estruturar o game.
Na ‘Janela do Zoom’ da ‘Área de Trabalho’, leve o mouse até o botão ‘+’
(sinal de mais), e aumente para 40%.
45
Passo 41 - Em seguida, vamos criar com os ‘tiles’ as plataformas, sobre
o modelo ‘Tracer Map’ que inserimos. Esse modelo funcionará como um
molde. Para isso, leve o mouse até a parte superior esquerda da ‘Área de
Trabalho’ e clique no ícone de pincel.
47
48
desenvolvedor de games júnior | módulo 1 | capítulo 1
Passo 44 - Repetiremos esse processo até cobrir toda a área em cinza do
‘Tracer Map’. Clique na barra de rolagem para mover e visualizar todas as
plataformas, de toda a fase.
49
Passo 45 - Uma vez finalizada a cobertura de toda a estrutura, a camada
‘TileMap’ não será mais necessária. Por isso, iremos remover esse
componente que está localizado dentro da layer ‘Background’. Para isso,
vá até esta camada e clique na flecha ao lado direito para expandi-la (obs.:
não se preocupe ainda com os nomes das camadas, você irá renomeá-las
posteriormente).
50
Passo 46 - Um item chamado ‘joe’s-tracer’ irá surgir. Ele representa o
‘Tracer Map’ que inserimos. Passe o mouse sobre o item até aparecer três
pontinhos no canto direito. Clique sobre eles e escolha ‘Delete Layer’, para
deletar a camada.
51
Passo 47 - Pronto, perceba que aquele modelo de ‘Tracer Map’ foi deletado.
52
Passo 49 - Já na ‘Faixa de Opções’, clique sobre um ‘Player’ (jogador) de
sua preferência.
53
professor
54
Passo 51 - Em seguida, iremos salvar o projeto. Na ‘Barra de Menus’, clique
no menu ‘File’ (arquivo) e, na sequência, em ‘Save Game’ (salvar jogo).
55
Passo 52 - Surgirá uma caixa perguntando qual é o nome do projeto a ser
salvo. Clique sobre a linha e escreva um nome para seu game. Ao final,
clique em ‘Save’ (salvar).
56
Passo 53 - Depois de salvar o projeto, vamos testar as funcionalidades.
Então, na ‘Barra de Menus’, clique no botão ‘Play’ (jogar).
57
Passo 54 - O game ainda não tem funções e o explorador ainda não se
move, mas você pode perceber que o personagem executa uma animação,
batendo os pés no chão, como se estivesse aguardando uma interação.
Nos próximos passos você programará os movimentos do personagem.
Depois de notar esses pontos, clique no botão ‘Close’ (fechar).
58
Passo 55 - Na ‘Área de Trabalho’, clique no ícone de seta, no painel da parte
superior esquerda. Na sequência, leve o mouse para cima do personagem
principal. Perceba que um retângulo envolve o personagem.
59
Passo 56 - Leve o mouse em cima do símbolo ‘< >’ que aparece ao lado
direito do personagem. Esse símbolo permite adicionar uma programação
nele. Clique uma vez com o botão esquerdo do mouse sobre o símbolo.
60
Passo 58 - A tela de programação surgirá. Ao lado esquerdo dela há
uma ‘Barra de Opções’, em que se encontram os eventos e ações que
nosso personagem pode executar, permitindo a interação com todos os
componentes e elementos daquela camada.
professor
//Professor(a), ao longo das aulas conheceremos vários ‘eventos’ que desenvolvedor de games júnior | módulo 1 | capítulo 1
61
Passo 59 - Na ‘Barra de Opções’, procure por ‘Events’ (eventos). Ao clicar
nele, uma janela surgirá ao lado direito, mostrando todos os ‘eventos’
disponíveis para o nosso personagem.
para ele ser adicionado à tela de programação. Percebam que esse evento é
dinâmico, ou seja, ele pode ser alterado. Vale reforçar que todos os eventos
possuem algumas partes e funcionalidades que podem ser alteradas.
62
Passo 61 - Para executar o movimento do personagem principal,
precisamos alterar o botão que será pressionado pelo jogador. Clique na
seta ao lado de ‘backspace/delete’, para ver uma faixa de opções surgir na
tela.
63
Passo 62 - Procure por ‘right arrow’ (seta para a direita). Isso significa que
quando o jogador apertar a seta do teclado para a direita, o personagem
executará uma ação, que será programada no próximo passo.
65
professor
66
Passo 66 - Para alterar a velocidade do movimento do personagem no
bloco ‘set velocity x 0’, precisamos mudar o ‘0’ para ‘200’ (zero representa
o estado de parado. Neste caso, o personagem não se movimentará).
Isso significa que nosso personagem se movimentará para a direita com
velocidade de 200 pixels por segundo, quando andar no eixo x.
67
Passo 68 - Agora precisamos programar o movimento do personagem
para a esquerda. Novamente, leve o mouse na ‘Barra de Opções’, clique em
‘Events’ e, na sequência, procure pelo evento ‘When backspace/delete is
pressed’. Clique uma vez sobre este evento e ele será adicionado à tela de
programação.
68
Passo 69 - Para executar o movimento do personagem principal para a
esquerda, precisamos alterar a tecla que será pressionada pelo jogador.
Clique na seta ao lado de ‘backspace/delete’ para abrir as opções.
69
Passo 71 - Da mesma forma, procure pelo bloco ‘set velocity x 0’, dentro
da aba ‘Physics’. Clique uma vez com o botão esquerdo do mouse para
adicioná-lo na área de trabalho.
70
Passo 73 - Na sequência precisamos alterar a velocidade do eixo, que está
em ‘0’. Clique no campo e digite: ‘-200’. Afinal, para que o personagem possa
andar para a esquerda, precisamos desloca-lo no eixo x negativamente.
71
Passo 75 - Note que uma cópia do último evento irá aparecer na tela de
programação. Você deverá mover esse bloco ao lado dos eventos criados
anteriormente.
72
Passo 76 - Precisamos alterar as configurações desse bloco que foi
duplicado. Clique na primeira seta para mudar a tecla a ser pressionada.
Escolha: ‘up arrow’ (seta para cima). No Gamefroot, as coordenadas de
y (vertical) são ao contrário! Isso significa que os valores acima do y
aumentam negativamente e os abaixo aumentam positivamente. Portanto,
em ‘set velocity’, troque ‘x’ (movimento na horizontal) para: ‘y’ (movimento
na vertical) e, no valor, defina: ‘-500’. Com essa alteração, o personagem
vai poder pular.
73
Passo 78 - Ainda na ‘Faixa de Opções’, clique em ‘Looks’ (aparência),
procure por ‘center camera on myself’ (centralizar a câmera no personagem)
e encaixe essa ação no bloco ‘Constantly’ que acabamos de criar.
74
Passo 80 - Surgirá uma tela perguntando qual nome vamos inserir no script.
Esse script será responsável pela movimentação do nosso personagem.
Portanto, defina um nome que remeta a isso. Ao final, clique em ‘Save’.
75
Passo 82 - Sempre que precisar, reinicie o game para um novo teste. Você
pode fazer isso clicando uma vez com o botão esquerdo do mouse no
ícone de ‘Reload’ (recarregar) na base esquerda da tela.
76
Passo 84 - O mesmo acontece caso você tente pular: o explorador sairá do
chão, mas como o game não tem gravidade, o personagem irá flutuar pelo
espaço e não voltará para o solo.
77
Passo 85 - Assim que você finalizar seus testes, implementaremos a
gravidade. Assim como na vida real, ela será fundamental em nosso game.
Então, na parte inferior da janela, clique no botão ‘Close’.
78
Passo 87 - Arraste este último evento inserido de modo que fique
posicionado abaixo do evento que contém a seta para cima. Essa ordem
de posicionamento não influencia em nada os funcionamentos do nosso
game; é apenas uma forma de organização visual.
79
Passo 89 - Acabamos de definir a aceleração da gravidade, mas é importante
que o personagem reconheça esse valor. Para isso, clique novamente na
‘Faixa de Opções’, procure por ‘Physics’, selecione ‘set reacts to gravity
true’ (reagir à gravidade verdadeiro), clique e arraste encaixando-o ao último
evento criado.
80
Passo 90 - Agora sim podemos executar um novo teste e validar se nosso
personagem, ao dar um pulo, voltará ao chão posteriormente. Na parte
superior direita, clique no botão ‘Play’.
81
Passo 92 - Agora na tela de teste de nosso game, execute movimentos
para testar o pulo ou tentar cair em algum buraco.
82
Passo 93 - Depois de realizar o teste dos movimentos, clique no botão
‘Close’. Observe que os movimentos do explorador ainda continuam. Isso
acontece porque colocamos a força da gravidade nos movimentos do
eixo y (vertical), mas nada foi feito no eixo x. Para que o personagem pare
assim que soltarmos as teclas das setas para a direita e para a esquerda, desenvolvedor de games júnior | módulo 1 | capítulo 1
não iremos utilizar a gravidade. Primeiro, clique com o botão direito do
mouse em cima do primeiro evento criado (da seta para a direita) e escolha
‘Duplicate’, para duplicá-lo.
83
Passo 94 - Na sequência, arraste todo o bloco de códigos para baixo e
troque: o x de ‘200’ para ‘0’, e o ‘pressed’ (pressionado) para ‘released’
(liberado). Isso fará com que o movimento em x vá para 0, isto é, o
personagem parará, assim que a seta para a direita for liberada.
84
Passo 95 - Realize, de forma semelhante, o procedimento para o movimento
da seta para a esquerda.
85
Passo 97 - A janela questionando se você gostaria de salvar as alterações
no projeto surgirá novamente. É importante entender que salvar nunca é
demais, e isso garante que mesmo acabando a energia, por exemplo, nosso
projeto ficará guardado. Clique em ‘Yes’.
86
Passo 99 - Para finalizar a aula, vamos salvar o game. Volte para a tela
inicial, clique no menu ‘File’ e escolha ‘Save Game’.
87
88
desenvolvedor de games júnior | módulo 1 | capítulo 1
professor
Passo 100 - Com o game salvo, você deverá fazer o logout do seu usuário
da conta. Sempre que as aulas terminarem, realize essa etapa para a
segurança do seu game e dos seus dados! Clique no seu usuário no topo
direito, e selecione logout.
89
backup
5 Min.
professor
Olha com quanta coisa você teve contato nessa aula! Você começou a
criar seu game utilizando plataformas incríveis para que o seu explorador
possa se movimentar! Além disso, conheceu o que é um ‘evento’ e a
maneira como as pessoas se localizavam antigamente! Na próxima aula,
você irá inserir um pergaminho, que vai comandar o objetivo do seu jogo!
desenvolvedor de games júnior | módulo 1 | capítulo 1
Ele representará um possível mapa, que o seu personagem poderia criar,
após explorar o cenário, por exemplo, ajudando os próximos exploradores
a se localizarem!
91
level complete
5 Min.
professor
Para entendermos melhor como nosso jogo vai acontecer, que tal pensar
um pouco sobre quais obstáculos podemos adicionar em nosso game com
o objetivo de torná-lo mais desafiador?
93
capítulo 2
desenvolvedor
de games júnior
daily
5 Min.
professor
96
Objetivos da aula
bugou
https://bit.ly/FT_M1A2_1
97
back-end
5 Min.
professor
Ei, você que está prestes a se tornar um fluente digital, me conta aí: você
usa lógica no seu dia a dia? Eu aposto que sim! Para entender o conceito
que será apresentado nessa aula, vamos começar com algo bem simples:
pense sobre o que você faz desde o momento que você acorda, até sentar
para assistir à sua primeira aula do dia. Acredito que a primeira coisa que
você faz é abrir os olhos, não é? E depois você pode levantar da cama,
calçar os chinelos, ir ao banheiro e por aí vai. Essa sua rotina segue uma
desenvolvedor de games júnior | módulo 1 | capítulo 2
sequência lógica. Ou seja, as tarefas podem ser executadas em uma ordem
que faz mais sentido. Afinal, você não levanta da cama de olhos fechados
ou veste a roupa antes de levantar, não é mesmo?
Agora você deve estar se perguntando: “tá, mas e o que isso tem a ver com
tecnologia?”. Tem tudo a ver! Sabe por quê? Os computadores não pensam
como nós humanos, por isso, sempre que precisamos criar algum jogo,
resolver um problema ou desenvolver um programa, precisamos estipular
quais são os passos que o computador deve executar.
99
Usamos esse tipo de raciocínio para programarmos os computadores de
uma forma com que eles ‘entendam’ o que está sendo pedido. Chamamos
de lógica de programação o modo como se escreve esse código! Essa
sequência de passos, em programação, chamamos de algoritmo. É como
se fosse uma receita de bolo!
Os passos de um algoritmo devem estar sempre bem escritos. Afinal, os desenvolvedor de games júnior | módulo 1 | capítulo 2
computadores seguem fielmente o que escrevemos, então, não pode haver
frases com duplo sentido, certo?
Qual outro algoritmo do seu dia a dia você já seria capaz de escrever agora?
100
professor
101
front-end
75 Min.
buil and run
professor
Acesse o site: gamefroot .com. Assim que o site carregar, clique no botão
‘Login’ (conectar), no canto superior direito da tela. desenvolvedor de games júnior | módulo 1 | capítulo 2
103
Passo 2 - Ao logar na sua conta, perceba que a tela de ‘dashboard’ (painel
de controle) surgirá. Nesta tela, existem alguns tutoriais e kits que facilitam o
desenvolvimento do game. Note que, na parte superior da janela, aparecerá
o jogo criado na aula anterior. Clique sobre ele com o botão esquerdo do
mouse.
104
professor
105
106
desenvolvedor de games júnior | módulo 1 | capítulo 2
professor
107
Passo 5 - Para ajustar os movimentos do personagem, leve o mouse
na ‘Faixa de Opções’, clique em ‘Animation’ (animação), procure por ‘play
animation “idle” ’ (executar a animação “parado”) e encaixe essa ação no
bloco ‘When right arrow is pressed’ (quando seta para direita é pressionada).
Na sequência, altere de ‘idle’ (parado) para ‘run’ (correr). Com isso, toda
vez que a seta para a direita for pressionada, o personagem executará a
animação como se estivesse correndo.
108
Passo 6 - Duplicaremos esta última ação criada, porque precisamos
colocar esta mesma animação para os movimentos da esquerda. Clique
com o botão direito em cima de ‘play animation “run”’ (executar a animação
“correr”), escolha ‘Duplicate’ (duplicar) e arraste essa ação para o ‘When
left arrow is pressed’ (quando a seta da esquerda é pressionada).
109
Passo 7 - Ajustados os movimentos do personagem quando ele estiver
correndo, precisamos ajustar a animação de quando o personagem estiver
parado. Para isso, duplique novamente a ação ‘play animation run’, arraste-a
para o bloco ‘When right arrow is released’ (quando a seta da direita é
liberada) e altere o ‘run’ para ‘idle’. Repita este processo e faça o mesmo
para o bloco ‘When left arrow is released’ (quando a seta da esquerda é
liberada). Note como ficará o algoritmo do jogo após essas inserções.
110
Passo 9 - Note que as animações estão acontecendo corretamente, mas
nosso personagem, ao correr para a esquerda, permanece direcionado
para a direita. Vamos, então, ajustar esse espelhamento. Leve o mouse na
‘Faixa de Opções’, clique em ‘Transform’ (transformar) e procure por ‘set x
and y scale of myself to 1’ (definir a escala de x e y do personagem para
1). Encaixe essa ação no bloco ‘When right arrow is pressed’, usado para
detectar se a seta para a direita foi pressionada, e altere o ‘x and y’ para
apenas ‘x’. Usaremos o eixo ‘x’ pois, quando ele estiver espelhado (virado
para a esquerda), e pressionarmos a seta para a direita, queremos alterar
a imagem na horizontal. Escolhemos o valor 1, pois ele irá se virar para a
direita (o lado positivo do eixo).
desenvolvedor de games júnior | módulo 1 | capítulo 2
111
desenvolvedor de games júnior | módulo 1 | capítulo 2
112
Passo 11 - Agora podemos executar um novo teste, para verificarmos se
o personagem está virando para a esquerda e para a direita, corretamente.
Clique no botão ‘PLAY’ no topo direito da tela, depois confirme a ação de
salvar, clicando em ‘YES’. desenvolvedor de games júnior | módulo 1 | capítulo 2
113
114
desenvolvedor de games júnior | módulo 1 | capítulo 2
Passo 12 - Vamos ajustar o nome da camada (layer) em que o personagem
está (‘Background’ – plano de fundo) para ‘Main’ (principal). Isso deve
ser feito, pois as interações entre o personagem e os outros elementos
acontecem na camada principal. Volte para a tela do jogo e, na aba ‘Layers’,
dê duplo clique com o botão esquerdo do mouse sobre o nome ‘Background’
e altere-o para ‘Main’.
115
Passo 13 - Agora que o personagem está na camada principal, vamos criar
uma nova para adicionar um fundo e deixar o cenário mais interessante.
No painel de ‘Layers’ clique no botão ‘+’ e em ‘New Layer’ (nova camada)
para adicionarmos uma nova layer. Clique 2 vezes na camada criada e
renomeie-a para ‘Background’.
116
Passo 14 - Em seguida, moveremos a layer ‘Background’ que acabamos
de criar. O background precisa ficar atrás de todas as camadas, pois ele
é um fundo que ilustra o nosso game. Isso quer dizer que esse fundo não
pode ficar na frente dos elementos principais. Portanto, clique com o botão
esquerdo do mouse e arraste a camada para baixo.
117
desenvolvedor de games júnior | módulo 1 | capítulo 2
118
Passo 16 - Execute um teste clicando no botão ‘PLAY’, no canto superior
direito da tela. Atenção: é possível que o personagem consiga sair do
cenário, ou até mesmo derrubar o plano de fundo, caso consiga pular sobre
o background. Esses ajustes serão programados posteriormente.
119
Passo 17 - Então, colocaremos um objeto com formato de espinho, na
camada principal, para representar um obstáculo no jogo. Obstáculos
servem para dificultar o caminho do personagem. Os espinhos poderão
machucá-lo, caso encostem nele, sendo necessário saltar sobre os
obstáculos para continuar o caminho. Com a layer ‘Main’ selecionada, vá à
‘Faixa de Opções’, no menu de mídias na lateral esquerda da tela. Selecione,
como obstáculo, a opção ‘spikes’ (espigões) e, na sequência, clique em
qualquer lugar da fase.
120
Passo 18 - Agora que o obstáculo foi adicionado na fase, devemos criar
o algoritmo que o deixará fixo em sua posição, pois os espinhos não se
movimentarão pela cena. Para iniciar a programação, leve o mouse em
cima do obstáculo. O ícone de programação aparecerá; clique 1 vez com o
botão esquerdo em cima dele, depois em ‘Add Script’ (adicionar script).
121
Passo 19 - Perceba que a tela de programação dos obstáculos será aberta.
122
Passo 21 - Ainda na ‘Barra de Opções’, procure por ‘Physics’ (física). Depois,
desenvolvedor de games júnior | módulo 1 | capítulo 2
busque por ‘set immovable true’ (configurar imóvel como verdadeiro) e
encaixe-o no último bloco criado. Isso fará com que o objeto fique imóvel
(parado).
123
desenvolvedor de games júnior | módulo 1 | capítulo 2
124
desenvolvedor de games júnior | módulo 1 | capítulo 2
125
desenvolvedor de games júnior | módulo 1 | capítulo 2
Passo 24 - Feito o teste, colocaremos mais obstáculos na fase. Volte para
o layout do jogo e, na ‘Faixa de Opções’, clique em ‘spike’ e posicione-os
pelo caminho.
126
Passo 25 - Ainda na ‘Faixa de Opções’, clique no menu ‘Code’. Note que
apareceram as duas programações que fizemos: ‘player_movement’
e ‘obstacles’. Isso significa que cada objeto tem a sua própria tela de
programação e o nome dela é definido no momento em que clicamos no
botão ‘PLAY’, para testar essa programação pela primeira vez.
127
Passo 26 - Vamos copiar o script que criamos para todos os obstáculos.
Para isso, clique 1 vez em cima da programação ‘obstacles’. Note que o
ícone do mouse ficou da mesma cor dessa programação. Deixe-o acima de
um dos espinhos que colocamos na tela e clique sobre o obstáculo 1 vez.
Passo 27 - Note, na imagem abaixo, que o ícone ficou com a mesma cor da
programação ‘obstacle’, pois o script foi atrelado/ligado ao objeto. Repita
esse mesmo procedimento para todos os obstáculos que você adicionou
na cena.
128
professor
//Atenção, professor(a)!
129
Passo 29 - Vamos implementar a colisão do personagem com o obstáculo.
Lembre-se: sempre que o jogador tocar nos espinhos, ele será destruído.
Leve o mouse sobre o personagem, clique no ícone da programação em
que aparece ‘player_movement’ e escolha ‘Edit script player_move...’.
130
Passo 30 - Surgirá a tela de programação em que desenvolvemos os
movimentos do personagem.
131
desenvolvedor de games júnior | módulo 1 | capítulo 2
132
desenvolvedor de games júnior | módulo 1 | capítulo 2
133
desenvolvedor de games júnior | módulo 1 | capítulo 2
134
desenvolvedor de games júnior | módulo 1 | capítulo 2
135
desenvolvedor de games júnior | módulo 1 | capítulo 2
Passo 36 - Pronto, agora podemos testar nosso game, para saber se o
personagem, ao tocar no espinho, será destruído. Clique em ‘PLAY’ e salve
o script clicando em ‘YES’.
136
Passo 37 - Colida em um dos espinhos e verifique se o personagem será
destruído.
137
Passo 39 - Na ‘Faixa de Opções’, selecione outro background e arraste-o
para a ‘Área de Trabalho’ em que estamos desenvolvendo o game. Amplie-o
para que ocupe todo o fundo do cenário, conforme você já fez anteriormente.
138
Passo 41 - Vamos configurar para que o background não possua elementos
físicos. Desabilitaremos a gravidade, pois ele deverá ficar parado – ele não
cairá, caso o personagem consiga pular em cima dele! Então, clique em
‘Events’, procure por ‘When created’ e arraste-o para a tela. Na faixa de
opções, clique em ‘Physics’, procure pela opção ‘set physics enabled true’
(definir física habilitado verdadeiro), e arraste-a para dentro do bloco ‘When
created’. Troque ‘true’ (verdadeiro) por ‘false’ (falso), para que a física seja
desabilitada. Com isso, quando o plano de fundo for criado, os elementos
físicos serão desabilitados.
139
desenvolvedor de games júnior | módulo 1 | capítulo 2
140
141
desenvolvedor de games júnior | módulo 1 | capítulo 2
Passo 43 - Como a movimentação da câmera no game utilizará os eixos
x e y, duplicaremos esse último comando para considerarmos também o
eixo y. Clique com o botão direito no bloco ‘set x position of myself to 0’,
escolha ‘Duplicate’ e encaixe a cópia logo abaixo. Troque o x por y.
142
Passo 44 - Feito isso, ajustaremos o posicionamento do fundo conforme
a câmera do game. Arraste os valores ‘0’ para a lixeira, conforme mostra
a imagem. Note que o ‘0’ fica aparecendo mais claro que o normal, pois a
ferramenta está mostrando que o valor foi deletado.
143
desenvolvedor de games júnior | módulo 1 | capítulo 2
144
Passo 47 - Assim que o game iniciar, percorra toda a fase. Note que nosso
desenvolvedor de games júnior | módulo 1 | capítulo 2
background agora é fixo, ou seja, ele não se move junto com o personagem.
professor
145
atividade extra
professor
146
147
desenvolvedor de games júnior | módulo 1 | capítulo 2
backup
3 Min.
professor
149
level complete
2 Min.
professor
O nosso encontro chegou ao fim! Por meio dos passos lógicos que você
tem seguido, durante as aulas, o game está se tornando uma jornada
de exploração incrível, não é mesmo? Na próxima, terminaremos essa
exploração, então, esteja preparado(a)!
Até lá!
151
capítulo 3
desenvolvedor
de games júnior
daily
5 Min.
professor
154
Objetivos da aula
bugou
155
back-end
10 Min.
professor
157
Nesse caso, o termo nível representava uma fase de dificuldade ou seção
definida de um determinado jogo.
Fonte: https://felipepepe.medium.com/1974-1989-a-hist%C3%B3ria-dos-primeiros-crpgs-dabad2f51f2b
158
O jogador tinha a missão de criar um grupo de seis heróis, entrar no labirinto
debaixo da cidade e derrotar o mago Werdna. Os níveis eram organizados
em andares e os mapas eram labirintos desafiadores.
159
Fonte: https://www.techtudo.com.br/listas/2018/03/fortnite-veja-os-requisitos-para-jogar-no-pc.ghtml
160
front-end
70 Min.
professor
professor
Agora que você já conheceu os conceitos de levels e de variáveis, chegou desenvolvedor de games júnior | módulo 1 | capítulo 3
a hora de colocar a mão na massa. Siga o passo a passo e boa diversão!
162
Passo 2 - No campo ‘Username or Email’ (nome de usuário ou e-mail)
digite aquele que foi cadastrado. No campo ‘Password’ digite a senha e, ao
final, clique no botão ‘LOG IN’ (acessar a conta). Caso tenha se cadastrado
com as contas do Google ou Facebook, basta clicar no botão respectivo.
163
Passo 3 - Ao logar com sua conta, perceba que o ‘DASHBOARD’ (painel de
controle) surgirá. Nesta tela, existem alguns tutoriais e kits que facilitam o
desenvolvimento do game. Note que, na parte superior da janela, aparecerá
o jogo criado nas aulas anteriores. Basta clicar em cima dele com o botão
esquerdo do mouse.
164
Passo 5 - Perceba que nós já possuímos o primeiro level, que se refere
à fase que criamos para o nosso game. Agora, nós criaremos um novo
level, que conterá a tela de vitória que será acionada na programação do
mapa (a ser inserido posteriormente). Ou seja, quando nosso personagem
conseguir chegar ao fim da fase e pegar o mapa, a tela da vitória surgirá.
Portanto, clique em ‘Add New Level’ para adicionar um novo nível, e note
uma tela vazia surgir.
165
Passo 6 - Clique na engrenagem que está sobre o ‘Level -2’, que acabamos
de criar. Surgirão algumas opções deste nível, entre elas, o tamanho da tela
nos eixos ‘x’ e ‘y’. Iremos configurar para que o jogo exiba a tela toda de
maneira adequada. Para isso, no eixo ‘x’ digite ‘960’ e no eixo ‘y’ digite ‘540’.
Esses valores representam o tamanho total da nova tela.
professor
//Professor(a), vale lembrar que foi definido um valor bem maior para desenvolvedor de games júnior | módulo 1 | capítulo 3
166
167
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 7 - Em seguida, volte para a guia ‘MEDIA’, clicando sobre ela uma
vez com o botão esquerdo do mouse.
169
botão denominado ‘TIMATA Start’ (iniciar) e encaixe-o abaixo da faixa ‘You
Win’.
170
Passo 12 - O ‘Level-2’ que representa a tela de vitória está finalizado.
Agora, criaremos um novo level para representar a tela de derrota, ou
seja, a de ‘Game Over’. Na parte superior da tela, clique no botão ‘+’
e, depois, em ‘Create New Level’. Esse botão é um atalho para criar
novos levels.
171
desenvolvedor de games júnior | módulo 1 | capítulo 3
172
173
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 14 - Volte para a guia ‘MEDIA’. Precisamos terminar de criar a tela de
‘Game over’. Na ‘Faixa de opções’, procure pelos elementos de ‘Interface’ e
arraste a imagem que contém a faixa escrito ‘Game Over’ para a tela.
174
Passo 15 - Na sequência, ainda nos elementos de ‘Interface’, selecione um
botão denominado ‘TIMATA Start’, da cor vermelha, e encaixe-o abaixo da
faixa ‘Game Over’. Faça qualquer ajuste que seja necessário na ordem das
camadas.
175
Passo 16 - Finalizado o nível ‘Level – 2’ que representa a tela ‘You Win’ e
o nível ‘Level – 3’ que representa a tela ‘Game Over’, iremos voltar para o
nosso game. Para isso, clique no ‘Level – 1’.
176
Passo 18 - Na ‘Faixa de Opções’, procure pelo mapa entre os objetos
coletáveis (‘Collectables’). Ele representa o auxílio na localização das fases
futuras. Quando conseguir chegar até ele, o jogador vencerá o game e será
direcionado para a tela de vitória ‘You Win’. Ele deve ficar no ponto mais
desafiador do jogo, que pode ser no final da fase. Mas, para facilitar os
testes, por agora coloque-o próximo do jogador.
177
Passo 19 - Agora, programaremos o mapa. Precisamos criar uma marcação
neste objeto para que ele possa ser identificado por uma tag (rótulo). Esse
objeto será marcado como objeto de vitória, pois, ao tocarmos nele, seremos
direcionados para o ‘Level-2’. Para isso, clique com o botão direito do
mouse em cima do mapa e escolha ‘Add Script’ (adicionar programação).
178
Passo 21 - Na sequência, clique em ‘Sensing’ (detectar) e arraste o
elemento ‘add tag “tag name” on myself’ (adicionar tag “nome da tag” em
mim mesmo) para dentro do último evento criado. Clique em ‘tag name’ e
troque por ‘you win’. Com isso, estamos adicionando um rótulo (etiqueta)
chamado ‘you win’ para identificar o objeto.
179
Passo 22 - Na parte superior, clique no ‘PLAY’ para testar. Clique em ‘YES’
para salvar o game e dê um nome para o script que remeta à marcação
(you-win object). Durante o teste, observe que o mapa se desloca quando
o personagem toca nele. Note que, como o objetivo é coletá-lo, não será
necessário criar o script para que ele fique fixo no cenário, como fizemos
com os espinhos, por exemplo.
180
Passo 23 - Volte para a ‘Área de Trabalho’. Agora que o mapa contém a
marcação de vitória, criaremos a colisão por parte de nosso personagem.
Com o botão direito, clique em cima do personagem e escolha ‘Edit script
“player_movement”’ (editar script ‘movimento do jogador).
181
Passo 24 - Atualmente, ao tocar em um obstáculo, nosso personagem é
destruído. Nós duplicaremos esse evento para criarmos a condição: quando
o jogador tocar no mapa, ele vencerá o jogo. Clique com o botão direito em
cima do bloco ‘if do’ (se faça), no evento ‘When I am touched get toucher’,
e escolha ‘Duplicate’ (duplicar). Posicione o novo bloco duplicado no script.
Altere a tag ‘obstacle’ (obstáculo) para ‘you win’.
182
183
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 25 - Agora, arraste o bloco ‘destroy myself’ (me destruir) para a
lixeira. Não queremos que o personagem seja destruído quando ele tocar
no mapa.
184
desenvolvedor de games júnior | módulo 1 | capítulo 3
185
professor
186
187
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 28 - Feito isso, agora podemos fazer um teste: ao encostarmos no
mapa, devemos ser direcionados para o ‘Level – 2’, conforme especificado
no último comando. Clique em ‘PLAY’ e, na sequência, em ‘YES’ para salvar.
Passo 29 - No teste, pule sobre o mapa e note que a tela de vitória surgirá.
188
Passo 30 - Vincularemos, agora, a tela de ‘Game Over’ à ação de tocar nos
espinhos. Para isso, procure o bloco que determinamos que o personagem
é destruído quando toca no espinho. Clique na ação ‘destroy myself’ e
arraste-a para a lixeira.
189
Passo 31 - Duplique o comando que leva o personagem para a tela de
vitória, uma vez que tocamos no mapa. Clique com o botão direito e escolha
‘Duplicate’. Arraste o bloco duplicado no lugar do que acabamos de deletar.
Neste bloco ‘go to 2’ digite ‘3’, pois o jogador será direcionado para a tela
de Game Over (Level 3).
190
Passo 32 - Então, podemos testar nosso game. Na barra superior, clique
em ‘PLAY’ e, na sequência, salve clicando em ‘YES’. No teste, pule sobre os
espinhos e note que você será levado para a tela de ‘Game Over’.
191
Passo 33 - Uma vez que as telas de vitória e de derrota estão programadas,
programaremos os botões para que, quando clicados, o jogo inicie
novamente. Na barra superior, clique no level- 2 (tela de vitória).
192
Passo 34 - Precisamos observar com atenção. Vá até o botão, na aba de
camadas, e clique sobre ele. Então, leve o mouse sobre o botão ‘TIMATA
Start’ e escolha ‘Add Script’.
professor
193
Passo 35 - Na tela de programação que surgiu, clique na ‘Faixa de Opções’,
procure por ‘Events’ e arraste para a tela o bloco ‘When stage is pressed’
(quando o estágio é pressionado). Esse evento será ativado quando o botão
for pressionado.
194
Passo 36 - Na sequência, ainda na ‘Faixa de Opções’, procure por ‘Control
Flow’ e arraste para a tela o bloco ‘go to next level’ (ir para o próximo nível).
Então, altere o ‘next’ para ‘first’ (primeiro). Ou seja, quando clicarmos no
botão seremos direcionados para a primeira tela, a de início do game.
195
desenvolvedor de games júnior | módulo 1 | capítulo 3
196
desenvolvedor de games júnior | módulo 1 | capítulo 3
197
Passo 39 - Em seguida, precisamos configurar, da mesma forma, o botão
da tela de Game Over. Volte à ‘Área de Trabalho’ e, na barra superior, clique
no ‘Level – 3’.
198
Passo 40 - Na ‘Faixa de Opções’, clique em ‘Code’ (código) para abrir o
código.
199
desenvolvedor de games júnior | módulo 1 | capítulo 3
200
desenvolvedor de games júnior | módulo 1 | capítulo 3
201
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 44 - Perceba que o ‘Level – 4’ surgiu. Essa será nossa tela de abertura
do game. Para isso, precisamos fazer algumas configurações, como alterar
o tamanho da tela. No menu da esquerda, clique na opção ‘Levels’ e, depois,
na engrenagem do ‘Level – 4’. Ajuste o tamanho da tela inserindo, no eixo
‘x’, o valor de ‘960’ e, no eixo ‘y’, o valor de ‘540’.
202
desenvolvedor de games júnior | módulo 1 | capítulo 3
203
desenvolvedor de games júnior | módulo 1 | capítulo 3
204
Passo 47 - Reordene a posição das camadas, para que fiquem na ordem
que faça mais sentido: ‘Start Screen’, ‘Level – 1’, ‘You Win’ e ‘Game Over’.
Arraste o bloco pelos traços que ficam no início do level.
205
[
Passo 48 - Com essas alterações, precisamos mudar os valores dos levels
na programação da colisão. Então, volte no script principal em que fizemos
as movimentações do jogador. Clique na aba ‘Code’ e, na sequência, localize
o script ‘player_movement’. Clique em ‘Edit Code’ (editar código).
professor
desenvolvedor de games júnior | módulo 1 | capítulo 3
206
Passo 49 - Localize o trecho do script que faz referência aos níveis que
representam a tela da vitória e a tela do game over. Agora, com a alteração
da ordem dos levels, ao tocar nos espinhos, o jogador vai para o nível ‘4’. Ao
tocar no mapa irá para o nível ‘3’.
Passo 50 - Volte para a tela principal e selecione o level ‘Start screen’ (1)
para editá-lo.
207
Passo 51 - Volte para a aba ‘MEDIA’, procure pelo background que usamos
em nosso game e arraste-o para a ‘Área de Trabalho’, encaixando-o
perfeitamente no tamanho que definimos para a tela.
208
Passo 52 - Na sequência, procure pelo botão ‘TIMATA Start’ e arraste-o
para o centro da tela.
209
direito. Arraste algumas gramas próximas às árvores inseridas; isso vai
deixar sua tela de abertura mais elegante.
professor
210
Passo 54 - Em seguida, programaremos o botão da tela inicial. Clique com
o botão direito em cima do botão ‘TIMATA Start’ e certifique-se de que ele
foi selecionado na camada. Depois, clique em ‘Add Script’.
Com isso, quando o jogador clicar em qualquer lugar da tela, ele será enviado
211
para o próximo nível. Lembrando que organizamos as camadas dos levels
para que o jogo estivesse no level seguinte da tela inicial.
212
Passo 56 - Execute um teste, para ver o botão funcionando. Na barra
superior, clique em ‘PLAY’, depois confirme a ação de salvar, clicando em
‘YES’. No nome do script, digite: ‘start button’ e clique em ‘Save’. Quando a
tela inicial surgir, clique em qualquer lugar da tela e perceba que o jogador
será direcionado para o início do game.
213
214
desenvolvedor de games júnior | módulo 1 | capítulo 3
Passo 57 - Agora iremos inserir um elemento coletável em nosso game. Em
um jogo do tipo plataforma, os elementos coletáveis podem ser moedas,
diamantes, itens que envolvem ganho de vida ou poderes. Em nosso caso,
iremos inserir uma moeda rara. Inicialmente, volte para a tela de construção
do game, o ’Level – 2’.
215
Passo 58 - Na sequência, clique na camada ‘Main’ onde nosso personagem
está inserido. É na camada ‘Main’ que acontecem as principais interações
do game.
216
Passo 60 - Criaremos agora uma tag (rótulo) na moeda para que ela possa
ser coletada. Essa marcação servirá para todas as moedas que forem
duplicadas posteriormente. Clique com o botão direito em cima do objeto
e escolha ‘Add Script’.
217
Passo 61 - Na tela do script que surgiu, clique em ‘Events’, procure por
‘When created’ e arraste-o para a tela, que será ativado quando esse objeto
for criado.
Passo 62 - Depois clique em ‘Sensing’, procure por ‘add tag “tag name” on
myself’ e arraste-o para dentro do último bloco adicionado. Então, clique no
campo ‘tag name’ e altere-o para ‘collectable’. Isso fará com que o objeto
seja marcado com a etiqueta chamada ‘collectable’.
218
Passo 63 - Vamos testar. Primeiro, salve esse script clicando em ‘PLAY’,
depois em ‘YES’. Dê o nome de ‘collectable’ para esse script. Durante o
teste, você verá que o personagem ainda não coleta a moeda. Para que
isso aconteça, primeiro você precisará desenvolver uma programação
que faça com que o personagem detecte a tag adicionada na moeda.
219
Passo 64 - Volte para a ‘Área de Trabalho’, clique com o botão direito em
cima do personagem e escolha ‘Edit script “player_movement”’.
220
Passo 66 - Encaixe o evento duplicado logo abaixo dos demais eventos já
criados.
221
Passo 67 - Precisamos realizar duas alterações. A primeira é trocar a
marcação ‘you win’ para ‘collectable’.
professor
222
Passo 69 - Ainda na ‘Faixa de Opções’, clique em ‘Control Flow’ e procure
por ‘destroy myself’. Encaixe-o no lugar do evento que acabamos de deletar.
223
Passo 70 - Como não iremos destruir o próprio personagem (‘ele mesmo’),
delete o complemento ‘myself’ do bloco ‘destroy’.
224
Passo 71 - Então, precisamos criar a referência para destruir efetivamente
a moeda uma vez que ela for coletada. Para isso, na ‘Faixa de Opções’,
clique em ‘Variable’ (variável). Como você viu no Back-end, uma variável
consiste em um espaço reservado, na memória do computador, para guardar
informações que serão utilizadas por um programa. Aqui, destruiremos a
instância (cópia) da variável toucher para representar o objeto que é tocado.
Clique em ‘instance toucher’ e arraste-o para dentro do bloco ‘destroy’.
225
Passo 72 - Agora, podemos realizar um teste final em nosso game. Na
barra superior clique em ‘PLAY’. Ao iniciar o jogo, passe sobre a moeda e
verifique se ela sumirá.
226
Passo 74 - Mova o mapa para o local do final de fase.
227
offline
Variáveis
professor
228
Os dados guardados em variáveis podem ser usados em outros momentos
e, também, podem sofrer alterações. No game do Super Mario Bros por
exemplo, as moedas são guardadas em variáveis e sempre que coletamos
mais moedas, podemos ver os valores sendo alterados na parte superior
da tela.
Vidas 3
Tempo 300
229
Atividade Prática 1
professor
Nesta atividade você utilizará um texto para montar uma história. Esse texto
possui lacunas, representadas por variáveis, para serem preenchidas. Você
pode seguir a dica entre parênteses para completar a história. Dependendo
do que você adicionar nesses espaços, criará uma história diferente. Ao
final, compartilhe a história com os seus amigos.
230
História do __________________ (nome).
Quando eu faço uma viagem para algum lugar __________________ (adjetivo)
com minha família, normalmente eu vou a um destino próximo a um / a
__________________ (substantivo). Um bom lugar de férias para mim é aquele
que eu posso jogar _________________ (nome do jogo) ou passar tempo
________________ (verbo no gerúndio). Meu melhor amigo ________________
(nome) gosta de passar seu tempo de férias ___________________ (verbo
no gerúndio) _____________________ ou ________________________ (verbo
no gerúndio). Meus irmãos normalmente passam suas férias comendo
_____________ (comida). Nas minhas últimas férias, meu irmão caiu em
um __________________ (substantivo) em cima de um(a) __________________
(substantivo) e ficou se coçando por horas. Não vejo a hora de poder ter
minhas férias novamente.
professor
231
Atividade Extra
professor
Nessa atividade, você praticará como trocar os valores das variáveis sem
perder os dados armazenados. Para isso, você precisará de:
• 3 caixas pequenas (ou algo que as represente)
• 2 objetos pequenos (por exemplo, uma caneta ou lápis)
Comece nomeando as caixas: Caixa A, Caixa B e Caixa C.
232
O seu desafio será trocar os objetos de lugar, deixando o objeto que está
na caixa A, dentro da B, e o objeto que está na caixa B, dentro da A. Mas,
haverá algumas regras para seguir!
• Você pode utilizar a caixa C para armazenar objetos.
• Uma caixa pode guardar apenas um objeto.
• Você só pode mover um objeto de cada vez.
Depois, você deverá descrever o algoritmo para trocar os objetos entre as
caixas A e B.
professor
// Professor(a), abaixo temos os passos de um exemplo de resposta desenvolvedor de games júnior | módulo 1 | capítulo 3
233
professor
234
professor
235
backup
2 Min.
professor
Nesta aula, você finalizou seu game, criando as telas de início de jogo,
vitória e derrota. Além disso, inseriu as moedas, o mapa final e realizou
suas programações, utilizando levels e variáveis. Aproveite esse momento
para tirar qualquer dúvida que tenha ficado.
237
level complete
3 Min.
professor
A aula chegou ao fim! Por meio de passos lógicos e uso de variáveis criamos
o nosso game. Aproveite para incrementar seu jogo em casa, adicionando
novos obstáculos e objetos de decoração.
professor
Compartilhe sua aventura com seus familiares e amigos. Explique para eles
tudo o que aprendeu sobre geolocalização e deixe-os jogar seu game!
239
capítulo 4
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
professor
242
Objetivos da aula
243
back-end
Aprox. 10 Minutos
professor
Professor(a), nesta aula, os alunos serão apresentados a uma nova
plataforma, que ainda não foi utilizada. No caso, é importante que,
nessa aula, os alunos possam conhecer e se familiarizar com a
ferramenta, bem como com o conceito de estrutura condicional. No
material do aluno será possível encontrar exemplos de estruturas
condicionais aplicadas aos filmes e jogos, para fazer escolhas.
Ficou mais fácil agora? Esperamos que sim, porque esse foi um exemplo
prático de como as coordenadas (aula 4 e módulo 1) podem nos ajudar a
encontrar nosso lugar, assim como na geolocalização, que é o assunto que
estamos desenvolvendo neste curso! desenvolvedor de games júnior | módulo 1 | capítulo 4
245
Você já ouviu falar em filmes interativos? Sim, eles existem! Hoje em dia,
assistir a alguns filmes não significa mais sentar-se com seu balde de
pipoca e aguardar a trama acontecer; você pode escolher o destino da
história e dos personagens! Funciona assim: em determinados momentos,
é pedido para o espectador escolher entre duas opções. Cada escolha leva
a trama por um caminho específico e, muitas vezes, parece até mesmo que
os personagens estão interagindo com quem assiste! Se você ficou
curioso(a), procure assistir “O Chefinho – Pega esse bebê” e divirta-se!
Por exemplo:
Vamos sair para passear no parque! Caso esteja chovendo, preciso de uma
capa de chuva.
247
A tabela abaixo mostra o mesmo exemplo escrito de duas maneiras. Do
lado esquerdo, temos blocos e imagens que representam o exemplo usado.
Note que é fácil entender que vamos ao parque e, se estiver chovendo,
devemos usar uma capa. Do lado direito, temos a mesma representação do
exemplo, agora usando um modelo de linguagem de programação. É assim
que nós, humanos, nos comunicamos com os computadores.
Program Ir_ao_parque {
Ir para o parque
if (estiver chovendo) {
SE Estiver chovendo print(“Use capa”);
}
}
USE
1. SE (condição).
2. ENTÃO (o que o programa deve fazer se a condição for atendida).
3. SENÃO (caso a condição não seja atendida, informe o que o programa
deverá fazer).
248
Agora, imagine a seguinte situação: programaremos um game em que, na
primeira fase, duas coisas precisam acontecer para que a porta seja aberta
e o personagem possa passar para a próxima fase
Program Passar_de_Fase {
if (puxar alavanca){
if (coletar a bússola) {
print (“A porta se abrirá”);
}
}
}
professor
Bora lá?
249
bugou
Saber tomar decisões é uma habilidade muito
importante para o século 21. Analisar as
situações e encontrar aquela que pode trazer
resultados mais interessantes para o seu
objetivo exige raciocínio, responsabilidade
e ética. Então, por que não treinar com as
escolhas em jogos e filmes?
250
front-end
Aprox. 70 Minutos
buil and run
professor
// Professor(a), dê início ao passo a passo com os alunos. Por ser
uma nova ferramenta, mencione com os alunos a importância de
conhecerem toda a sua interface. Também estimule a perguntarem
sempre que houver uma nova dúvida. \\
252
Passo 2 - Como é a primeira vez que entramos no FlowLab, precisaremos
criar uma conta. Na parte superior direita do site, clique em ‘Sign Up Free’
para criar uma conta grátis.
professor
253
Passo 4 - Pronto, você está logado no site e está pronto para iniciar o
desenvolvimento do game. Note que, ao lado direito, na parte superior da
tela, aparecem duas informações importantes. A primeira é ‘My Games’
(meus jogos), que é a seção dos jogos criados, mas no momento ainda não
criamos nenhum game. O FlowLab permite a criação de três jogos gratuitos, desenvolvedor de games júnior | módulo 1 | capítulo 4
que ficarão on-line em sua conta pessoal. Ao lado de ‘My Games’ aparecerá
o seu nome de usuário, identificando que está logado corretamente.
254
Passo 5 - Clique no botão ‘New Game’ para criar um novo jogo.
255
Passo 7 - A tela inicial do projeto vazio no FlowLab conta com uma área
central de cor branca. É nela que o game será desenvolvido. A área cinza
em volta pode ser usada para expandirmos a área do game. Agora,
expandiremos o tamanho do layout do game. Para isso, clique no botão
‘Settings’ (configurações), no canto inferior da tela.
256
Passo 8 - Dê um nome para o game, clicando no campo ‘Name’ e digitando:
‘Switches, Doors, & Compass’ (interruptores, portas e bússola). No
campo ‘Width’ (largura), aumente o tamanho da tela para ‘20’ e, depois,
clique em ‘OK’.
257
Passo 9 - O primeiro passo é inserir o background (imagem de fundo) do
game. Para isso, clique no item ‘Layer’ (camada), localizado na barra inferior
do nosso projeto. Na janela que surgir, clique em ‘Background’.
258
Passo 10 - Note que nada mudará na tela, mas perceba que surgirá uma
mensagem no rodapé da página, que afirma que estamos editando o
background no momento.
259
Passo 12 - Antes de inserirmos a imagem que representará o fundo
(background), precisamos definir o nome e o tipo do objeto. Na janela que
surgir, clique no campo ‘Type’ (tipo), digite ‘Background’ e, no campo ‘Name’
(nome), também digite ‘Background’. Essas informações ajudam o Flowlab
na identificação e programação dos objetos, caso necessário. Depois,
clique no botão ‘edit sprite’ para editar esse item (sprite).
260
Passo 13 - Perceba que na tela de edição de sprite surgirá um quadrado de cor
aleatória na tela. No exemplo, foi marrom, mas poderia ser de qualquer cor, a
cor não importa. ‘Ex: azul, vermelho, alaranjado… etc.’. Caso não mudemos a
imagem, o background será essa imagem aleatória que surgiu, mas ajustaremos.
261
262
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 15 - A imagem surgirá na tela para ajustarmos o tamanho e dimensão
da imagem que estamos inserindo. Note que, ao lado esquerdo e na parte
superior surgiram controles de tamanho com 32 blocos de largura e 32
de altura. Como o tamanho do nosso game foi definido com 20 blocos de
largura por 10 de altura, iremos enquadrar a imagem neste formato.
263
Passo 17 - Depois de diminuído o tamanho da imagem, vamos aos
ajustes finos usando as barras de controle superior. Diminua de 32 para
20 blocos. Repita o processo para a barra de controle ao lado esquerdo,
diminua de 32 para 10 blocos..
264
Passo 18 - Agora clique no canto diagonal inferior da imagem novamente,
clique e arraste para enquadrar a imagem perfeitamente no espaço definido.
265
Passo 19 - Terminado o ajuste de tamanho, clique no botão ‘OK’.
266
267
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 21 - Então, começaremos a programar o nosso game e precisamos
sair da camada background e ir para a camada principal. Clique em ‘Layer’
na barra inferior, depois, clique na camada ‘Game World’ (mundo do jogo),
que é a camada principal. Perceba que surgirá uma mensagem no rodapé
avisando que estamos editando a camada principal agora. desenvolvedor de games júnior | módulo 1 | capítulo 4
268
Passo 22 - Leve o mouse na parte inferior da imagem de background
que acabamos de adicionar e clique com o botão esquerdo na tela.
Na opção que surgiu, clique em ‘Create’. Vamos adicionar a grama
para ser a plataforma do jogo.
269
Passo 23 - Na janela que surgiu, clique no campo ‘Type’, digite: ‘Grass’
(grama), e faça o mesmo com o campo ‘Name’. Depois, clique em ‘edit sprite’
para editar esse componente. Na janela de edição de sprites, clicaremos
em ‘Browse’ para buscar uma imagem para associar com o componente.
270
Passo 24 - Na barra que surgiu ao lado direito, clique em ‘Select Category’
para selecionar uma categoria de busca. Então, vá em ‘pixel-blocks’. Depois,
clique uma vez no bloco que se parece com um bloco de terra e grama.
271
Passo 26 - Na janela de criação do objeto, clique em ‘OK’. Note que o bloco
de grama surgiu no exato ponto em que adicionamos o objeto. O bloco
de grama representará o chão por onde o personagem poderá caminhar.
Agora, criaremos ‘clones’ desse objeto por todo o chão da fase.
272
Passo 27 - Leve o mouse em cima do bloco de grama que acabamos de
adicionar, clique com o botão esquerdo, e escolha ‘Clone’ (clonar). Leve o
mouse ao lado do bloco de grama e clique com o botão esquerdo para criar
o objeto clone. Repita o processo até criar todo o chão do game.
273
Passo 28 - Depois de criar os clones em todo chão, leve o mouse na barra
inferior e clique em ‘Done Cloning’ (clonagem concluída).
274
Passo 30 - Na janela que surgiu, clique no campo ‘Type’ e digite: ‘Platform’
(plataforma). Faça o mesmo com o campo ‘Name’. Depois, clique em ‘edit
sprite’ para editar o componente.
275
276
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 32 - Caso seu bloco não esteja no centro da tela, arraste-o para lá.
Duplicaremos esse bloco de modo a dividir a tela. Clique em cima do bloco
de madeira, escolha ‘Clone’, clique em cima desse bloco até criar uma linha
de divisão na tela do game, seguindo a imagem abaixo.
277
278
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 33 - Criaremos outras estruturas usando o mesmo bloco de
madeira. Essas estruturas têm propósito de serem plataformas em que
o personagem poderá subir.
279
desenvolvedor de games júnior | módulo 1 | capítulo 4
280
Passo 34 - Clonaremos também o bloco de madeira para ser usado como
barreira. Esses blocos serão colocados nas laterais do game, fora da
área de visualização. Eles não podem aparecer para o jogador, por isso,
os colocamos fora da área de visualização (na parte cinza escura). Esses
blocos têm o propósito de impedir a passagem e bloquear, deixando o
jogador sempre dentro da fase.
281
Passo 35 - Na parte superior também será preciso criar blocos sólidos,
que impedirão o jogador de “escapar” para fora do layout. Na parte
superior, é interessante deixar um espaço acima das árvores. Caso o
jogador pule ali em cima, ele sairá do layout, mas ao bater na barreira, ele
cairá para dentro do layout novamente. O jogador não verá as barreiras,
mas saberá que não pode escapar. Ao final, clique em ‘Done Cloning’, na
parte inferior, para parar a clonagem.
282
Passo 36 - Então, testaremos o game. Para realizarmos o teste, basta clicar
no botão ‘Play’ (Jogar), na parte inferior. Perceba que, ao centro da tela, o
game que estamos desenvolvendo aparecerá.
283
Passo 38 - Adicionaremos o personagem principal do game. O
personagem que usaremos faz parte do pacote disponibilizado pelo
Flowlab. Leve o mouse no canto esquerdo do game, clique uma vez com
o botão esquerdo e escolha ‘Create’.
284
Passo 39 - Na janela de criação do objeto, clique no campo ‘Type’ e digite:
‘Py’. Então, clique em ‘Name’ e escreva o mesmo nome. Esse é o nome que
daremos ao personagem, se preferir, dê outro nome. Na sequência, clique
em ‘edit sprite’ para editar o componente.
285
Passo 41 - Na barra lateral que surgiu, clique em ‘Select Category’ e
escolha ‘pixel-chars’ (personagens em pixel-art). Note que surgirão vários
personagens. Perceba que alguns possuem outras imagens similares, que
configurarão as animações que criaremos.
286
Passo 43 - O personagem que escolheremos para esse game será o de cor
amarela, que está mostrando a língua. Note que ele possui quatro imagens
similares, que juntas executam a animação do personagem andando. Primeiro,
precisamos escolher a imagem do personagem parado, ou seja, a imagem que
representa ele em repouso. Clique na primeira imagem do personagem.
professor
287
Passo 44 - Agora, criaremos a animação que permitirá nosso personagem
andar. Na barra inferior, clique em ‘Animation Editor’ (Editor de animação).
288
Passo 45 - Note que surgiu uma barra inferior. Clique em ‘Pick
Animation’ (Escolher animação). Depois, clique em ‘Create New’ para
criar uma nova animação.
289
Passo 46 - Surgirá uma janela para salvar o nome da animação. Daremos
o nome de ‘walk’ (andar), já que ela representará o personagem andando.
Depois, clique em ‘OK’.
290
desenvolvedor de games júnior | módulo 1 | capítulo 4
291
292
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 49 - O frame 1 representa o personagem parado. O frame 2, que
acabamos de ajustar, representa o personagem dando um passo. Agora,
ajustaremos o frame 3.
Na barra superior, dê um clique no terceiro frame. Na sequência, escolha
a terceira imagem do lado esquerdo.
293
Passo 50 - Faremos o quarto e último frame. Na barra superior, dê um clique
no quarto frame. Na sequência, escolha a quarta imagem do lado esquerdo.
294
Passo 51 - Podemos testar a animação do personagem andando. Dê um
clique no botão ‘Play’ na barra superior. Note que a animação começará.
295
Passo 52 - Caso esteja achando a animação muito rápida, ou muito devagar,
é possível ajustar o ‘delay’ (atraso), no campo anterior. Adicionando ‘2’ no
‘delay’, a animação ficará bem rápida. Aumentando para ‘6’, ficará lenta.
Escolha uma velocidade que te agrade. Ao final, clique no botão ‘OK’.
296
Passo 53 - Na janela de desenvolvedor de games júnior | módulo 1 | capítulo 4
297
Passo 54 - Aplicaremos a física em nosso personagem principal. A ferramenta
Flowlab já possui princípios e bibliotecas que gerenciam a física do game.
professor
298
299
desenvolvedor de games júnior | módulo 1 | capítulo 4
Passo 55 - Ainda na janela de edição do personagem ‘Py’, clique em
‘Behaviors’ (comportamentos), já que precisamos realizar a programação
do personagem principal.
300
Passo 57 - Programaremos a tecla ‘Left’ (esquerda), para movimentar o per-
sonagem para esse lado. Clique uma vez no primeiro bloco de cima. Na
sequência, clique em ‘Change Key’ (mudar tecla), depois, aperte no teclado
a seta da esquerda. Na sequ-
ência, marque a opção ‘Re-
peating’ (repetição). Isso ser-
virá para identificar quando
o jogador pressionar a seta
da esquerda por um tempo,
para que a movimentação
aconteça enquanto a tecla
estiver sendo pressionada.
Ao final, clique em ‘OK’.
301
Passo 59 - Agora, programa-
remos o pulo do personagem,
com a tecla ‘Backspace’ (bar-
ra de espaço). Clique uma vez
no terceiro bloco que adiciona-
mos, depois, em ‘Change Key’
(mudar tecla), e aperte no te-
clado a barra de espaço. O pulo
não terá repetição. Ao final, cli-
que em ‘OK’.
302
Passo 61 - Realizaremos uma ligação do bloco ‘Keyboard Left’. Para isso, clique
na bolinha ‘down’ (para baixo) e arraste-a até a bolinha ‘start’ (iniciar) do bloco
‘Animation’. Repita o processo interligando o bloco ‘Keyboard Right’: clique na
bolinha ‘down’ (para baixo), e arraste-a até o ‘start’ do bloco ‘Animation’.
professor
303
Passo 62 - Do lado esquerdo, procure por ‘Logic & Math’ (lógica e matemática),
clique três vezes no campo ‘Number’ (número) e ajuste a posição de cada
bloco, conforme imagem abaixo.
304
Passo 63 - Configuraremos a velocidade que o personagem andará para a
esquerda. Clique uma vez no bloco ‘Number’ que adicionamos no topo. No
campo ‘Label’ (rótulo), escreva: ‘move left’ (mover para a esquerda), para
identificar esse bloco. No campo ‘Current value’ (valor atual), digite ‘-6’ ou clique
no símbolo ‘-‘ até chegar ao ‘-6’. O valor negativo representa o movimento para
esquerda no eixo X. Ao final, clique em ‘OK’.
305
Passo 65 - Em seguida, configuraremos a força do pulo do personagem. Clique
uma vez no bloco ‘Number’ que adicionamos ao final (mais abaixo). No campo
‘Label’ (rótulo), escreva: ‘jump’ (pulo). No campo ‘Current value’ (valor atual),
digite ‘12’ ou clique no símbolo ‘+’ até chegar ao ‘12’. Ao final, clique em ‘OK’.
306
Passo 66 - Chegamos ao final da aula. O nosso projeto ainda não está pronto,
mas iremos continuá-lo na próxima aula. O Flowlab salva o projeto a cada ação
que realizamos, então, fiquem tranquilos, pois não perderemos nada ao sair da
tela do projeto.
307
desenvolvedor de games júnior | módulo 1 | capítulo 4
308
offline
Estrutura condicional
professor
309
Estrutura Condicional:
SE pegou a carta do Rei
310
Estruturas Condicionais:
Para o Assassino:
SE (você piscou para alguém) E (ele é o detetive)
ENTÃO (o jogo termina)
SENÃO (o jogo continua)
professor
Avise os alunos que esse game deverá ser jogado em dupla. No jogo,
uma estrutura condicional deverá ser checada para que o jogador
possa pontuar.
desenvolvedor de games júnior | módulo 1 | capítulo 4
311
professor
Diga para os alunos desenharem uma tabela, como essa abaixo, para
registrarem os lançamentos do dado e os respectivos pontos. Cada
jogador participará de quatro rodadas. Mas caso queira, você pode
aumentar o número de rodadas. Eles também poderão utilizar mais
de um dado para dificultar o jogo!
Jogador A Jogador B
Rodada
Dado Pontos Dado Pontos
1
2
3
4
Total
Diga que o(a) jogador(a) que mais pontuar será o(a) vencedor(a). desenvolvedor de games júnior | módulo 1 | capítulo 4
312
professor
313
professor
Se a soma dos números sorteados for MAIOR que 10 e essa não for
a primeira rodada
Então adicione a soma dos números sorteados aos pontos da
rodada anterior e coloque na pontuação da rodada atual
Se a soma dos números sorteados for MENOR que 3 e essa não for
a primeira rodada
Então subtraia a soma dos números sorteados dos pontos da
rodada anterior e coloque na pontuação da rodada atual
Senão
Adicione a soma dos números sorteados na pontuação da rodada
atual\\
desenvolvedor de games júnior | módulo 1 | capítulo 4
314
backup
Aprox. 2 Minutos
professor
316
level complete
Aprox. 3 Minutos
professor
//A aula chegou ao fim! Caso não tenha sido possível realizar a
atividade offline durante a aula, ela poderá ser indicada para ser feita
com os pais, irmãos ou amigos em casa!\\
A aula chegou ao fim! Caso não tenha dado tempo para fazer a atividade
offline, é importante que você faça com seus amigos e familiares em casa.
Boa diversão!
professor
318
capítulo 5
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
professor
Objetivos da aula
321
back-end
Aprox. 10 Minutos
professor
// Professor(a), neste momento, os alunos conhecerão os conceitos
relacionados à eletrônica digital e como isso impacta nossas vidas.
É importante que os estudantes possam compreender o conceito da
lógica computacional desenvolvida pelo matemático George Boole.
Portanto, utilize o material do aluno para explicar sobre o conceito
dos circuitos lógicos básicos. \\
bugou
Fonte: https://glo.bo/3bCfdTj
323
Os primeiros computadores foram construídos a partir de alavancas e
engrenagens. Ainda não existiam telas coloridas, nem teclado ou mouse.
Esses computadores utilizavam o sistema analógico, ou seja, todos os
valores e quantidades eram representadas por sinais elétricos, que podiam
ser lidos através de medidores e painéis de luzes.
Fonte: https://bit.ly/3BVKueJ
desenvolvedor de games júnior | módulo 1 | capítulo 5
324
Começava a surgir o que chamamos atualmente de eletrônica digital, que
é utilizada nos modernos computadores e smartphones que conhecemos.
325
Trazendo esse mesmo conceito para a programação do jogo, quando
precisamos que o personagem se mova pela fase, ele poderá pressionar a
seta da direita OU (OR) a seta da esquerda, ou seja, estamos utilizando o
conceito de portas lógicas.
Referências:
https://bit.ly/3EITOEh
https://bit.ly/3wgOBRl
https://bit.ly/3BJAQLO
326
front-end
Aprox. 70 Minutos
buil and run
professor
tempo estimado 60 minutos
328
329
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 2 - Depois de entrar, clique em ‘My Games’ (Meus Jogos). Localize o
projeto criado na aula anterior e clique no botão ‘Edit’ (editar).
330
Passo 3 - Precisamos continuar o projeto e terminar as configurações
do personagem principal. Clique uma vez sobre o personagem
‘Py’, depois, em ‘Edit’. Na tela de edição do personagem, clique em
‘Behaviors’ (comportamentos).
331
332
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 4 - Para continuarmos a configuração do personagem principal e
fazer com que ele execute o movimento de andar, precisamos interligar os
blocos que representam a seta do teclado e o valor, que adicionamos por
último. No bloco ‘Keyboard Left’, clique na bolinha ‘down’ (para baixo), e
arraste-a até o bloco ‘move left’, na bolinha ‘get’ (pegar). Com isso estamos
interligando os blocos que representam o movimento para a esquerda.
Passo 5 - Interligaremos os blocos que representam o movimento à direita. desenvolvedor de games júnior | módulo 1 | capítulo 5
333
Passo 6 - Em seguida, ajustaremos o bloco usado para o pulo e a força que
definimos. No bloco ‘Keyboard Spacebar’, clique na bolinha ‘down’ (para
baixo), e arraste-a até o bloco ‘jump’, na bolinha ‘get’ (pegar).
334
Passo 7 - Precisamos criar um controle sobre o pulo do personagem
principal, para que o mesmo não pule infinitamente no game, ou seja, que
ele pule e, antes mesmo de cair no chão, pule novamente. Inicialmente,
para implementar esse controle, o personagem precisa estar no chão. Para
isso, leve o mouse até ‘Triggers’ (gatilhos), e clique em ‘Collision’ (colisão).
Posicione o bloco como indicado na imagem, depois, clique uma vez no
bloco ‘Collision’, no campo ‘Any Type’, e escolha ‘Grass’ (grama). Ou seja, o
personagem precisa estar colidindo com a grama. Ao final, clique em ‘OK’.
335
Passo 8 - No menu lateral esquerdo, clique em ‘Logic & Math (Lógica e
Matemática)’ e procure por ‘Switch’ (interruptor). O ‘Switch’ serve para
habilitar ou desabilitar determinadas programações, como se fosse um
interruptor de tomada, que pode ser ligada ou desligada. Posicione o bloco
como mostra a imagem.
336
Passo 9 - Realizaremos a conexão dos blocos inseridos. Clique na bolinha
‘hit’ do bloco ‘Collision Grass’ e arraste-a até a bolinha ‘on’ (ligado) do
‘Switch’. Isso serve para informar ao programa que o personagem está no
chão e pode pular (switch on/interruptor ligado).
Passo 10 - Uma vez que o personagem já estiver pulando, ele não poderá
pular novamente e precisará cair no chão. Então, clique na bolinha ‘up’ (para
cima) do bloco ‘Keyboard Spacebar’ e arraste-a até a bolinha ‘off’ (desligado)
do ‘Switch’. Isso serve para informar ao programa que o personagem já está
pulando e que não poderá pular novamente (switch off/interruptor desligado).
desenvolvedor de games júnior | módulo 1 | capítulo 5
337
Passo 11 - Como já definimos a força do pulo, passaremos esse valor
para o bloco ‘Switch’, pois uma vez que o pulo acontecer, ele precisa ter a
força especificada. Clique na bolinha ‘out’ (saída) do bloco ‘jump’ (pular), e
arraste-a até o bloco ‘in’ (entrada) do ‘Switch’.
338
Passo 13 - Caso o jogador esteja pressionando no teclado a seta para
a direita, a imagem do personagem não precisa ficar espelhada, pois a
imagem original já está com o rosto virado para a direita. Então, clique na
bolinha ‘out’ do bloco ‘move right’, e arraste-a até a bolinha ‘back’ (voltar) desenvolvedor de games júnior | módulo 1 | capítulo 5
do bloco ‘Flip’.
339
Passo 14 - Precisamos executar a ação de movimento do personagem.
Anteriormente já definimos a tecla e a posição da movimentação. Agora,
precisamos da ação que ocorrerá caso as condições aconteçam. Ainda
dentro de ‘Properties’, clique em ‘velocity’ (velocidade) e posicione o bloco.
professor
340
professor
341
Passo 17 - As ações dos movimentos para a esquerda e direita do
personagem estão prontas. Agora, finalizaremos colocando a ação do
pulo. Na barra lateral, clique em ‘Components’ (componentes), depois, em
‘Impulse’ (impulso), posicionando-o como indicado na imagem.
342
Passo 18 - Caso o jogador execute o pulo, a ação será um impulso no eixo
y do game, que é o eixo vertical. No bloco ‘Switch’, clique na bolinha ‘out’, e
arraste-a até a bolinha ‘y’ do bloco ‘Impulse’. Ao final, clique em ‘OK’.
343
desenvolvedor de games júnior | módulo 1 | capítulo 5
344
345
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 21 - Você deve ter percebido que o personagem se movimenta
normalmente e pula quando apertamos a barra de espaço, mas, que ao
subir no bloco de madeira, ele não consegue executar o pulo. Isso acontece
porque a programação só estava relacionada com a grama. O bloco de
madeira é outro objeto, por isso, ele não realizará o pulo. Para ajustarmos,
é necessário voltar para a tela de edição do game. Para isso, clique no
personagem e, depois, clique em ‘Edit’.
346
Passo 22 - Na próxima tela, clique em ‘Behaviors’. Localize o bloco da
colisão com a grama.
347
Passo 23 - Clique uma vez no bloco ‘Collision Grass’ e troque para ‘Any Type’
(qualquer tipo). Isso significa que qualquer colisão que possa acontecer
com o personagem, indica que ele poderá pular. Ao final, clique em ‘OK’.
Saia da tela de programação e clique em ‘OK’.
348
Passo 24 - Teste novamente o game. Agora, nosso personagem poderá
pular quando estiver encostando em qualquer lugar.
349
Passo 25 - Volte na tela de edição do game. Leve o mouse no bloco
localizado abaixo, para criarmos um bloco de tijolo nesse espaço. Esse
espaço apenas será liberado após o personagem alcançar o interruptor que
você irá inserir posteriormente. Clique com o botão esquerdo uma vez e
escolha a opção ‘Create’.
350
Passo 26 - Na janela de criação do objeto, clique nos campos ‘Type’ e
‘Name’ e digite ‘Blocker’ (bloqueador), já que esse será o tipo e nome do
bloco. Depois, clique em ‘edit sprite’. Na janela de edição de sprite, clique
em ‘Browse’ para buscar uma imagem.
351
Passo 27 - Na barra lateral que surgir, clique em ‘Select Category’ e
escolha a categoria ‘pixel-blocks’. Leve o mouse em cima das imagens
que surgiram e mova para baixo até encontrar os blocos que simbolizam
os blocos de pedra ou tijolo. Ao encontrar, clique uma vez sobre o bloco
escolhido. Ao final, clique em ‘OK’.
352
353
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 28 - Execute um teste e veja se consegue passar pelo bloco. Todos
os blocos que adicionamos no Flowlab possuem característica sólida
por padrão, então, esse bloco será impossível de ser ultrapassado. Caso
precise ultrapassar, é necessário alterar a configuração sólida ou destruir o
bloco. É exatamente isso que faremos agora. Destruiremos o bloco, caso o
personagem toque no interruptor que inseriremos.
354
Passo 29 - Volte na tela de edição do game. Leve o mouse para cima da
plataforma que criamos no lado esquerdo. Adicionaremos um interruptor
que precisará ser tocado. Clique uma vez e escolha ‘Create’.
355
desenvolvedor de games júnior | módulo 1 | capítulo 5
356
357
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 31 - Agora, criaremos a animação da alavanca sendo movida. Na
parte inferior, clique em ‘Animation Editor’ (Editor de animação).
358
Passo 33 - Na barra inferior, note que, por padrão, já aparece um frame
criado para a animação da alavanca, ou seja, já aparece uma imagem
estática. Esse frame bastará para a nossa animação, então, leve o mouse
do lado esquerdo e clique na alavanca de cor verde.
359
Passo 34 - Quando pressionada, a alavanca passará da cor padrão (vermelha)
para a cor verde, que representa que a alavanca foi ligada. Ela não ficará
executando a animação em sequência. Agora, basta clicar em ‘OK’.
360
361
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 36 - Realizaremos a programação da alavanca que acabamos
de inserir. Primeiramente, clique no botão ’Behaviors’. Na tela de
programação, na lateral esquerda, em ‘Triggers’, selecione ‘Collision’,
para programar a colisão.
362
Passo 37 - Quando a alavanca for tocada, ela precisará executar
a animação que criamos nos passos anteriores. Então, clique em
‘Properties’ (propriedades), depois, em ‘Animation’ (animação), e
posicione-o conforme imagem abaixo.
363
Passo 39 - Realizaremos a interligação dos blocos adicionados. Ligue a
bolinha ‘hit’, do bloco ‘Collision’, até a bolinha ‘start’, do bloco ‘Animation’,
para que a animação seja acionada após a colisão.
364
Passo 41 - Na janela que surgir, clique em ‘effects’ (efeitos), depois em
‘switch’ e escolha um som da sua preferência entre os disponíveis. Para
ouvir, basta clicar uma vez sobre o elemento. Depois de escolhido, clique
em ‘OK’ e em ‘OK’ novamente.
365
366
desenvolvedor de games júnior | módulo 1 | capítulo 5
Passo 42 - Clique na bolinha ‘hit’ do bloco ‘Collision’, ligue-a até o ‘play’ do
bloco ‘SoundEffect’. Ou seja, quando a alavanca for acionada, ela executará
a animação no mesmo momento em que o som é tocado.
367
Passo 43 - Clique em ‘Ok’, faça o teste no seu jogo e veja a animação
da alavanca funcionar, assim como o som que você acabou de inserir.
Lembre-se que a liberação da passagem ainda não foi programada; ela
será feita na próxima aula!
368
offline
professor
369
professor
história for desvendada, outro aluno poderá ser o narrador de outra
história. Utilize as cartas disponíveis no anexo. O jogo ficará mais
interessante utilizando as cartas impressas.
Assista ao vídeo abaixo para ver o jogo de Boole ser realizado.
bit.ly/JOGO-DE-BOOLE //
Neste jogo usaremos nove cartas, sendo três personagens, três meios de
transporte e três animais.
370
371
desenvolvedor de games júnior | módulo 1 | capítulo 5
Um aluno do grupo de participantes deverá escolher uma história e ler
cada instrução. Os demais alunos deverão utilizar as cartas e representar
as instruções. Ao final, deverão responder as perguntas que estão
marcadas em negrito.
Histórias lógicas:
História 1 História 2
Instruções: Instruções:
• Juca viaja de navio. • Quem viaja de navio tem um cão.
• Lalá tem um gato. • Lalá tem um gato.
• O galo viaja de metrô. • Péti viaja de metrô.
Perguntas: Perguntas:
• De quem é o cão? • Juca viaja em qual meio de
• Quem viaja de avião? transporte?
• Qual o animal de Péti? • Quem viaja de avião?
• De quem é o galo?
História 3 História 4
desenvolvedor de games júnior | módulo 1 | capítulo 5
Instruções: Instruções:
• Juca tem um cão. • O galo partiu no metrô, mas
• Se Péti anda de metrô, ela tem Péti não.
um gato. • O navio chegou trazendo o cão.
• Lalá anda de navio. • O gato partiu com Juca.
• Péti não tem um gato. Perguntas:
Perguntas: • Qual o meio de transporte
• Quem tem um galo? utilizado por Lalá?
• Quem anda de avião? • Quem viajou de avião?
372
Como exercício, vocês deverão usar as cartas para encontrar as respostas
das histórias. Também precisarão registrar as histórias e as respostas nos
cadernos. Siga as orientações do seu professor e bom jogo!
373
backup
Aprox. 2 Minutos
professor
375
level complete
Aprox. 3 Minutos
professor
Sua missão, nesta semana, será jogar o jogo de Boole em casa. Desafiem
seus familiares e amigos nesse desafio de lógica, eles vão adorar!
377
capítulo 6
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
professor
Objetivos da aula
• Criar o sistema de alavanca;
• Programar a passagem para a segunda parte da fase;
• Configurar o sistema de abertura de porta;
• Entender sobre o conceito de envio de mensagens;
• Conhecer os protocolos de rede;
• Executar uma atividade que envolve o envio de mensagens.
380
back-end
Aprox. 10 Minutos
professor
// Professor(a), neste momento, os alunos conhecerão os con-
ceitos relacionados aos protocolos de rede, utilizados em toda
comunicação que está por trás da internet. Utilize o material do
aluno para a explicação. \\
Podemos dizer que redes de computadores são grupos de dois ou mais com-
putadores interconectados para compartilhar recursos e trocar informações.
As redes de computadores estão cada vez mais presentes no dia a dia das
pessoas, em nossas casas, escolas, nas pequenas e grandes empresas.
a-historia-da-arpanet/
382
Ainda na década de 70, o programador Ray Tomlinson criou um software
que permitia a troca de mensagens entre usuários conectados no mesmo
PC. Nascia aí o que conhecemos hoje por e-mail.
Podemos citar o protocolo SMTP (Simple Mail Transfer Protocol) que tem
a função de somente enviar e-mails (a um destinatário ou mais), fazendo
a transmissão do mesmo. Para recebimento das mensagens de um
servidor utiliza-se outro protocolo, o POP3 (Post Office Protocol) que tem
desenvolvedor de games júnior | módulo 1 | capítulo 6
a função de receber as mensagens do servidor para o programa cliente de
e-mail do usuário (como o Outlook, entre outros).
bugou
Sabe o porquê do @ ?
Referências:
https://www.opservices.com.br/protocolos-de-rede/
385
front-end
Aprox. 70 Minutos
offline
professor
tempo estimado 10 minutos
professor
tempo estimado 10 minutos
https://youtu.be/e3YtWL5p1_4
\\
professor
// Professor(a), dê início ao passo a passo com os alunos. Sempre
que notar a possibilidade, reforce os conceitos já trabalhados durante
a programação do game. \\
389
desenvolvedor de games júnior | módulo 1 | capítulo 6
390
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 3 - Na última aula você testou seu game e viu que a animação da
alavanca e o som estão funcionando, mas a passagem de um lado para o
outro não foi liberada ainda, certo? Então, faremos essa programação agora.
391
Passo 4 - Todas as vezes que o jogador colidir com a alavanca, uma
mensagem deverá ser enviada para que o bloco cinza seja destruído. Vá
até a programação da colisão, clique sobre a alavanca e selecione ‘Edit’.
Então, entre em ‘Behaviors’.
392
Passo 5 - Dentro de ‘Components’, clique em ‘Message’, depois, no bloco
‘Message’, pois queremos que uma mensagem seja enviada, e coloque o
bloco na posição indicada. Clique sobre o bloco e, na janela que surgir,
clique no campo superior, digite ‘open’ (abra), então, marque o campo
‘Choose objects to send to’ (Escolher objetos para enviar a mensagem). No desenvolvedor de games júnior | módulo 1 | capítulo 6
393
desenvolvedor de games júnior | módulo 1 | capítulo 6
396
Passo 8 - Precisamos programar a mensagem que será recebida quando a
alavanca é acionada. Na tela de programação do bloco, clique em ‘Triggers’
na aba lateral esquerda, depois, em ‘Mailbox’ (caixa de e-mail). Clique no
bloco ‘Mailbox’ para configurarmos a mensagem recebida. Na janela que
surgiu, renomeie a mensagem para ‘open’. Essa é a mensagem que será
enviada pela alavanca.
Atenção! Para que essa ação funcione, você deverá escrever a palavra
exatamente igual a que foi escrita na hora de enviar a mensagem, inclusive
se atentando ao uso de letras maiúsculas ou minúsculas.
397
Passo 9 - No nosso game, uma vez que a alavanca é acionada, o bloco
de pedra será destruído. Quando a mensagem ‘open’ for recebida,
definiremos a ação para destruir o bloco de pedra. Na aba esquerda, clique
em ‘Components’ e escolha ‘Destroyer’ (destruidor). Na sequência, realize
a interligação dos blocos que acabamos de adicionar. Clique na bolinha
‘out’ do bloco ‘Mailbox’ e arraste-a até a bolinha ‘destroy’ (destruir) do bloco
‘Destroyer’. Ao final, clique em ‘OK’.
desenvolvedor de games júnior | módulo 1 | capítulo 6
398
Passo 10 - Na janela de edição do bloco de pedra, clique em ‘OK’. Agora,
testaremos nosso game. Na barra inferior, clique em ‘Play’.
399
Passo 11 - No teste do game, precisamos verificar se a alavanca está
funcionando. Ela precisará destruir o bloco de pedra para que possamos ir
para o lado direito da fase.
400
Passo 12 - Perceba que a alavanca ficou acionada e o bloco de pedra foi
destruído, liberando a passagem para o personagem.
401
você sabia?
Games do tipo ‘puzzle’ possuem esses desafios de abrir portas, ligar
chaves e mover alavancas, com o objetivo de resolver problemas
ou enigmas. Podemos citar um game bem famoso no estilo. O Goof
Troop, game lançado pela ‘Capcom’ para o Super Nintendo.
402
Passo 13 - Agora que o personagem pode ir para o outro lado da fase,
adicionaremos dois objetos ao game. O primeiro será uma bússola, que
será um coletável. O segundo objeto será uma porta, usada para passar de
nível. O jogador só poderá atravessar a porta se pegar a bússola. Pegar a
bússola é a condição que precisa acontecer para seguirmos com o game.
Então, volte para a tela de edição. Depois, clique acima da plataforma
superior à direita e, então, escolha ‘Create’.
403
Passo 14 - Nos campos ‘Type’ e ‘Name’, digite ‘Compass’ (bússola), para
definir o tipo e nome do objeto. Depois, clique em ‘edit sprite’.
404
Passo 15 - Como a plataforma Flowlab não possui um item similar a uma
bússola, faremos o upload de uma imagem. No lado direito, clique em ‘Upload’.
Na próxima tela, clique no botão ‘Browse for Sprite’ (Procurar Sprite). Acesse a
pasta de Assets, clique no arquivo ‘compass’ e selecione ‘Open’ (abrir). Depois
de carregar a imagem da bússola na tela de edição de sprite, clique no controle
superior para ajustar a largura do objeto, altere para 1, clique em ‘OK’.
405
desenvolvedor de games júnior | módulo 1 | capítulo 6
406
Passo 16 - Antes de realizarmos a programação da bússola, precisamos
adicionar a porta final que usaremos para passar de fase. Então, clique em
‘OK’ na janela de criação da bússola.
407
Passo 17 - Leve o mouse na parte inferior direita do game, clique com o
botão esquerdo e escolha ‘Create’.
408
Passo 18 - Na janela de criação da porta, clique nos campos ‘Type’, ‘Name’
e digite ‘Door’, para especificar o tipo e o nome do objeto. Na sequência,
clique em ‘Physics’.
Passo 19 - Desmarque a opção ‘is solid’, pois a porta não será sólida e desenvolvedor de games júnior | módulo 1 | capítulo 6
409
Passo 20 - Clique em ‘edit sprite’. Na janela de edição, clique em ‘Browse’
para escolhermos a porta do game. No painel direito que surgiu, clique
em ‘Select Category’ para escolher a categoria e, depois, clique em ‘pixel-
blocks’. Perceba que algumas imagens de portas aparecerão.
410
411
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 21 - A primeira imagem que precisamos é a da porta fechada. Note
que temos dois tipos de portas: uma de madeira e outra de metal. Fique
à vontade para escolher uma delas. Quando escolher, clique uma vez na
porta fechada. Configuraremos a animação da porta se abrindo, uma vez
que pegarmos a bússola. Do lado esquerdo, clique no ícone de animação.
No painel superior da animação, clique em ‘Pick Animation’, depois, em
‘Create New’ para criar uma nova animação. Na janela que surgiu, renomeie
a animação para ‘open’ e, depois, clique em ‘OK’.
412
Passo 22 - Note que a animação ‘open’ já vem com um frame/imagem
padrão. Trocaremos essa imagem de porta fechada por ela aberta. Para
isso, basta clicar do lado direito na imagem da porta aberta.
413
Passo 23 - Feito isso, clique em ‘OK’ na tela de edição de sprites e, também,
em ‘OK’ na criação do objeto da porta.
414
desenvolvedor de games júnior | módulo 1 | capítulo 6
415
416
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 25 - Na janela de programação, leve o mouse na lateral esquerda,
em ‘Triggers’, e clique em ‘Collision’. Agora, adicionaremos dois blocos
que serão executados quando tocarmos na bússola (isto é, quando o
personagem colidir com ela). Dentro de ‘Components’, dê um clique em
‘Message’ e em ‘Destroyer’. Posicione os blocos como indicado.
417
Passo 26 - Definiremos a mensagem que será enviada para a porta
quando a bússola for tocada. Clique uma vez no bloco ‘Message’. Na
parte superior, clique e renomeie a mensagem para ‘unlock’ (destrancar).
Depois, marque a opção ‘Choose objects to send to’, para escolher o
objeto para o qual a mensagem será enviada e escolha o objeto ‘Door’.
Isso é feito para que, ao tocarmos na bússola, a porta destrave ao receber
a mensagem. Ao final, clique em ‘OK’.
418
419
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 28 - Configuraremos a porta para que receba a mensagem ‘unlock’ e
possa executar a animação de ‘open’, abrindo-se e liberando a passagem do
personagem. Leve o mouse em cima da porta, clique com o botão esquerdo,
escolha ‘Edit’ e, na janela de criação da porta, clique em ‘Behaviors’.
420
desenvolvedor de games júnior | módulo 1 | capítulo 6
421
desenvolvedor de games júnior | módulo 1 | capítulo 6
422
desenvolvedor de games júnior | módulo 1 | capítulo 6
426
Passo 33 - Precisaremos criar um controle em que duas coisas precisam
acontecer para podermos passar de fase. A primeira será que a bússola
precisa ser coletada. A segunda é que o personagem precisa encostar na
porta. Para criar esse controle de condição, dentro de ‘Logic & Math’, clique
em ‘Switch’ (interruptor).
427
428
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 35 - Agora, ligue a bolinha ‘hit’ do bloco ‘Collision’ e arraste-a até a
bolinha ‘in’ do bloco ‘Switch’.
429
Passo 36 - Pronto, agora o interruptor saberá quando o personagem
encostar na porta. Precisaremos fazer com que o jogo reinicie. Para isso,
vá até ‘Game Flow’ (fluxo do jogo) e clique em ‘Restart Game’ (reiniciar o
jogo), posicionando-o conforme a imagem.
430
Passo 37 - Ligue a bolinha ‘out’ do ‘Switch’ ao ‘go’ do ‘Restart Game’.
Passo 38 - Pronto, o seu jogo chegou ao fim! Vamos testá-lo por completo.
Clique em ‘OK’ e, depois, pressione ‘Play’ para jogar.
431
Atividade Extra
professor
O seu game já está finalizado! Essa atividade irá ensiná-lo como criar e
vincular seu jogo a uma nova fase, para que depois você possa se desafiar
a continuar desenvolvendo o jogo em casa.
Passo 1 - Como você viu, a porta é o nosso objeto final, que reinicia o
jogo, mas poderia, por exemplo, levar à segunda fase, que você poderá
criar depois, em casa, para desafiar-se e melhorar ainda mais seus games.
Vamos ajudá-lo a criar o layout dessa fase agora. Leve o mouse e clique em
432
‘Game Levels’ (níveis do game), na barra inferior. Depois, clique no botão
‘New Level’ para criar um novo nível.
Passo 2 - Surgirá um novo nível, abaixo do nível atual. Clique para renomear o
‘New Level’. Dê o nome de ‘Level 2’, depois, clique no botão ‘Load’ (carregar)
na frente deste nível. Ao abrir o ‘Level 2’, uma tela branca aparecerá
juntamente com o personagem principal, que transita entre os níveis.
desenvolvedor de games júnior | módulo 1 | capítulo 6
433
Passo 3 - O objetivo não será criar essa fase agora, mas vamos adicionar
apenas um chão para o nosso personagem poder caminhar. Na barra inferior,
clique em ‘Library’ (biblioteca). Na janela que surgir, clique em ‘Grass’. Na
próxima janela, clique no botão ‘Add to Level’ (adicionar à fase).
434
Passo 4 - Leve o mouse abaixo do personagem principal, clique e
arraste até preencher toda a parte inferior da tela com chão de grama.
Ao final, clique em ‘Done Cloning’ para finalizar a clonagem (ou seja, o
desenvolvedor de games júnior | módulo 1 | capítulo 6
preenchimento do chão).
435
Passo 5 - O layout do nível 2 está pronto. Voltaremos até o nível 1 para
direcionarmos o final daquela fase para esse novo layout. Leve o mouse
e clique em ‘Game Levels’. Na janela que surgiu, clique no botão ‘Load’ do desenvolvedor de games júnior | módulo 1 | capítulo 6
436
desenvolvedor de games júnior | módulo 1 | capítulo 6
437
Passo 7 - Selecione o comportamento (‘Behaviors’), para podermos editar
o final do jogo.
Passo 8 - Atualmente, após terminar a fase, o jogo reinicia. Para que você
possa fazer com que o novo layout seja carregado, comece apagando esse
bloco de recomeço do jogo (‘RestartGame’). Clique sobre ele e pressione
‘Delete’ para deletar.
438
desenvolvedor de games júnior | módulo 1 | capítulo 6
439
desenvolvedor de games júnior | módulo 1 | capítulo 6
440
Passo 10 - Na janela de edição da porta, clique em ‘OK’ novamente. O próximo
passo será testar o game por completo. Na barra inferior, clique em ‘Play’.
441
442
desenvolvedor de games júnior | módulo 1 | capítulo 6
Passo 11 - Perfeito, concluímos a transição para o segundo layout do game.
Desafie-se construindo uma nova fase nesse novo layout. Caso deseje
enviar o game para algum amigo ou familiar, compartilhe a URL do site.
443
backup
Aprox. 2 Minutos
professor
445
level complete
Aprox. 3 Minutos
professor
447
capítulo 7
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
professor
450
Na aula de hoje, aprenderemos a utilizar o princípio da escolha. Uma vez
acessada a tela principal do game, o jogador poderá escolher um entre três
personagens disponíveis e jogáveis. Esse é o mesmo princípio que está por
trás dos games de combate, em que podemos escolher um entre dezenas
de personagens disponíveis.
451
back-end
Aprox. 5 Minutos
professor
// Professor(a), nesta aula, os alunos começarão a desenvolver um
game que envolve escolhas dos personagens, um processo que
demanda atenção por parte da lógica envolvida. Utilize o material
do aluno para explicar sobre a programação dos níveis que serão
utilizados no game. \\
453
Fazendo uma analogia desse princípio de programação, a personagem
principal do game, a ponte, os botões e as alavancas são objetos virtuais.
Qualquer objeto do mundo real pode se transformar em objeto virtual se
aplicarmos a ideia da abstração. A abstração é um dos conceitos mais
importantes da programação orientada a objetos, que concentra os
aspectos essenciais e ignora características menos importantes.
https://unsplash.com/photos/1bVorj9iV30
454
A primeira coisa que precisamos fazer é um estudo das embarcações do
mundo real que serão usadas no jogo e, para transformar um navio do
mundo real em um navio virtual, usaremos o conceito de abstração. Para
abstrair um objeto do mundo real, precisamos observar as características
e ações mais importantes do objeto, por exemplo:
455
O Foursquare é um exemplo de
aplicativo de busca que utiliza dados
do próprio usuário para mostrar novos
lugares/estabelecimentos ao redor
de possíveis pontos de interesse.
Baseando-se em gostos, avaliações
passadas, escolhas feitas por amigos
e especialistas de confiança, ele faz
indicações dos mais diversos locais,
como lojas e restaurantes.
456
front-end
Aprox. 76 Minutos
professor
// Professor(a), dê início ao passo a passo da construção do game
com os alunos, mas antes realize a atividade desplugada sobre
abstração. Será necessário que você conduza a aula de forma muito
cuidadosa, para que todos os passos sejam realizados com sucesso
e os conceitos sejam fixados. \\
offline
458
professor
// Professor(a), instigue os alunos a pensarem e realizarem essa
atividade de abstração. Segue uma possível resposta para a
questão elaborada:
\\
459
Passo 1 – Inicialmente, acesse o site: flowlab.io. Flowlab é uma
ferramenta de criação de jogos voltada para iniciantes. O Flowlab não
exige - nem permite - que os usuários digitem um script ou códigos. Em
vez disso, os comportamentos dos objetos do jogo são criados com uma
interface de arrastar e soltar, no estilo fluxograma. Os usuários vinculam
as declarações e o mecanismo de jogo interpreta essas estruturas de
maneira linear durante o processo.
Passo 2 – Na parte superior direita do site, clique em ‘Log In’ para entrar
no Flowlab com a conta que já foi criada anteriormente e inserir o email e
password (senha).
desenvolvedor de games júnior | módulo 1 | capítulo 7
460
Passo 3 – Agora você está logado no site, pronto para iniciar o
desenvolvimento do game. Note que, ao lado direito, na parte superior da
tela, aparecem duas informações importantes. A primeira é ‘My Games’
(meus jogos), que é o repositório dos jogos criados. Lembre-se que o
Flowlab permite a criação de três jogos gratuitos que ficarão online na conta
pessoal. Ao lado de ‘My Games’ aparece o nome de usuário, identificando
que você está logado corretamente. Agora, clique em ‘My Games’.
Passo 4 – Dentro da tela ‘My Games’, clique no botão ‘New Game’ para
iniciar a criação de um novo jogo.
462
Passo 7 – Na sequência, surgirá a tela inicial do projeto vazio. É nela
que o game será desenvolvido. A área cinza em volta pode ser usada
para expandirmos nosso game. Para isso, clique no botão ‘Settings’
(configurações), no canto inferior da tela.
463
Passo 9 – Note que a área de desenvolvimento do game aumentou e ocupa
boa parte da tela. Criaremos a tela inicial do game. Leve o mouse no centro
da página, clique uma vez com o botão esquerdo e escolha ‘Create’ (criar).
464
Passo 10 – Na tela que surgir, clique no campo ‘Type’ (tipo) e escreva
‘background’, pois iremos adicionar o fundo do jogo. Depois, clique no
botão ‘edit sprite’ (editar sprite).
465
Passo 11 – Ao clicar no botão, surgirá a tela de edição de sprites. Nós
precisamos carregar a tela de fundo do game. Do lado esquerdo, clique
em ‘Upload’ (carregar do computador), então, clique em ‘Browse for Sprite’
(Procurar por sprite) Choose File’ para escolher um arquivo de imagem.
466
Passo 12 – Procure a pasta ‘GameOfChoice’, depois, a pasta ‘sprites’, localize
e selecione o arquivo ‘background’. Clique em ‘Open’ (abrir), na próxima
tela clique no canto inferior direito da imagem para ajustar a proporção da
imagem, depois clique em ‘OK’.
467
Passo 13 – Após carregar a imagem de fundo, no canto inferior esquerdo,
clique no botão ‘OK’. Na próxima tela, clique em ‘OK’. Será preciso arrastar a
imagem de fundo para enquadrá-la no espaço definido. É necessário cobrir
todo o espaço em branco.
468
desenvolvedor de games júnior | módulo 1 | capítulo 7
469
470
desenvolvedor de games júnior | módulo 1 | capítulo 7
Passo 15 – Na janela que surgir, clique em ‘Upload’, pois queremos carregar
a imagem referente ao título. Depois, clique em ‘Browse for Sprite’ para
escolher o arquivo que está na pasta ‘sprite’, dentro de ‘GameOfChoice’.
Então, clique no arquivo ‘title’ e em ‘OK’.
471
Passo 16 – Depois de carregar a imagem do título do game, clique no botão ‘OK’.
472
Passo 18 – Então, basta clicar com o botão esquerdo no meio do título e
arrastá-lo para o centro da tela.
473
Passo 19 – Nossa tela inicial já está criada! Criaremos a segunda tela do
game, com a escolha dos personagens. Para iniciar, clique em ‘Game Levels’
(níveis do jogo).
Passo 20 – Na janela que surgir, será exibido o ‘Level 1’. Essa é a tela que
acabamos de criar, representando a abertura do game. Clique uma vez
sobre ‘Level 1’ e renomeie essa tela para ‘begin’ (começar).
474
desenvolvedor de games júnior | módulo 1 | capítulo 7
477
Passo 23 – Note que uma mensagem será exibida no layout: ‘Now Editing
Game Layer’ (agora editando a camada do jogo). Quando clicamos no botão
‘Load’, a tela será carregada para começarmos a trabalhar com ela. Como
acabamos de cria-la, ela estará vazia (em branco).
478
Passo 25 – Clique no campo ‘Type’, digite ‘background2’, então clique no
botão ‘edit sprite’ para fazer a edição.
479
Passo 27 – Note que, do lado direito, aparecerá a miniatura do background
que adicionamos na tela anterior. Leve o mouse em cima da miniatura, clique
uma vez com o botão esquerdo e a imagem será carregada na tela toda.
Passo 28 – Uma vez que a imagem for carregada na tela do game, na parte
inferior esquerda, basta clicar no botão ‘OK’.
desenvolvedor de games júnior | módulo 1 | capítulo 7
480
Passo 29 – Ao final, clique no botão ‘OK’, arraste a imagem e enquadre-a
no espaço branco do layout.
481
Para adicionar o primeiro personagem, leve o mouse do lado esquerdo da tela,
fora da imagem, clique com o botão esquerdo e em ‘Create’. Na janela que
surgiu, clique no campo ‘Type’, digite ‘ship1’ e, então, clique em ‘edit sprite’.
482
Passo 31 – Carregaremos a imagem do primeiro barco. Então, clique em
‘Upload’ e em ‘Browse for Sprite’, depois, no arquivo ‘blue’, em ‘Open/Abrir’
e, ao final, em ‘OK’.
483
Passo 32 – Com a imagem do barco azul carregada, clique em ‘OK’.
484
Passo 34 – Leve o mouse no centro do barco azul, clique com o botão esquerdo
e arraste-o para o centro da cena na vertical, no lado esquerdo da tela.
485
Passo 35 – Inseriremos o segundo personagem na tela de seleção. Para
isso, leve o mouse ao lado esquerdo da tela, fora da imagem e clique com o
botão esquerdo, depois, em ‘Create’. Na janela que surgiu, clique no campo
‘Type’, digite ‘ship2’ e clique em ‘edit sprite’.
486
Passo 36 – Carregaremos a imagem do segundo barco. Para isso, clique
em ‘Upload’ e em ‘Browse for Sprite’, depois, no arquivo ‘red’, clique para
abrir e, ao final, em ‘OK’.
487
desenvolvedor de games júnior | módulo 1 | capítulo 7
488
Passo 38 – Ajustaremos a posição do barco no layout, no campo ‘Display
Order’. Clique no botão ‘+’ até aparecer o dígito ‘2’, depois, clique em ‘OK’.
489
Passo 39 – Agora, leve o mouse no centro do barco vermelho, clique com
o botão esquerdo e arraste-o para o centro do layout.
490
491
desenvolvedor de games júnior | módulo 1 | capítulo 7
Passo 41 – Carregaremos a imagem do terceiro barco. Para isso, clique em
‘Upload’ e em ‘Browse for Sprite’. Procure pela pasta ‘GameOfChoice’, abra a
pasta ‘sprites’, clique no arquivo ‘yellow’ e para abrir. Ao final, clique em ‘OK’.
492
Passo 42 – Com a imagem do barco amarelo carregada, clique em ‘OK’.
493
Passo 44 – Leve o mouse no centro do barco amarelo, clique com o botão
esquerdo e arraste-o para o lado direito da cena.
494
Passo 45 – Criaremos as informações de HUD, que é a sigla para Heads-
Up Display. De maneira bem simples e direta, o HUD é qualquer elemento
gráfico exibido na tela para transmitir informações ao jogador.
Essas informações que criaremos instruirão o jogador a escolher um dos
três personagens jogáveis que temos no game. Para começar, leve o mouse
na barra inferior e escolha ‘Layer’ (camada).
495
Passo 46 – Na janela que surgir, clique em ‘User Interface’ (interface do
usuário). É nessa tela que precisam ficar todas as informações de HUD.
Note que ao clicar, surgirá a informação: ‘Now editing user interface layer’
(agora editando a camada de interface do usuário).
professor
498
Passo 49 – Do lado esquerdo, clique uma vez com o botão esquerdo
em GUI. A sigla GUI refere-se à denominação ‘Graphical User Interface’
(Interface Gráfica do Usuário). Na sequência, algumas opções surgirão;
escolha ‘Label’ (rótulo).
499
Passo 50 – Note que um bloco de texto surgiu no meio da tela. Ele representa
o rótulo que estamos inserindo. Para definirmos o texto do rótulo, basta
clicar uma vez com o botão esquerdo do mouse em cima do bloco.
500
desenvolvedor de games júnior | módulo 1 | capítulo 7
501
desenvolvedor de games júnior | módulo 1 | capítulo 7
502
Passo 53 – Ao clicarmos três vezes em ‘Label’, 3 novos blocos de ‘Label’
foram inseridos. Acontece que um estará sobre o outro e precisamos
organizar essa visualização. Leve o mouse em cima do bloco que ficou no
topo e arraste-o para o lado esquerdo. Faça o mesmo até organizar todos
os blocos, de modo semelhante ao mostrado nas imagens abaixo.
503
desenvolvedor de games júnior | módulo 1 | capítulo 7
504
Passo 54 – O primeiro ‘Label’ posicionado acima representará o número 1.
Então, clique sobre ele uma vez com o botão esquerdo. No campo ‘Label’,
digite ‘1’. Na cor, clique e escolha uma de sua preferência (vamos repetir a
mesma escolhida anteriormente). No campo ‘size’, de tamanho de fonte,
altere-o para ‘20’. Depois, clique em ‘OK’.
desenvolvedor de games júnior | módulo 1 | capítulo 7
505
desenvolvedor de games júnior | módulo 1 | capítulo 7
506
507
desenvolvedor de games júnior | módulo 1 | capítulo 7
Passo 56 – Agora, selecione o terceiro bloco adicionado, localizado
abaixo. Clique sobre ele uma vez com o botão esquerdo. No campo ‘Label’,
digite ‘3’. Na cor, clique e escolha uma de sua preferência (vamos repetir
a mesma escolhida anteriormente). No campo ‘size’, altere-o para ‘20’.
Depois, clique em ‘OK’.
508
Passo 57 – Terminamos de colocar todos os elementos de HUD. Agora,
precisamos ajustar o posicionamento de cada elemento. Para isso, clique desenvolvedor de games júnior | módulo 1 | capítulo 7
509
510
desenvolvedor de games júnior | módulo 1 | capítulo 7
Passo 58 – Perceba que as informações de HUD foram inseridas, mas elas
estão sobrepostas do canto superior esquerdo e, ao centro, ficou o bloco
‘hud_info’ que criamos para adicionar as informações de HUD.
511
Passo 59 – Perfeito, agora ajustaremos as informações de HUD. Clique em
cima dos números que criamos e arraste-os para as respectivas posições.
512
Passo 60 – Por fim, clique no texto ‘Choose Your Player’ e arraste-o para o
centro, na parte superior da tela.
514
desenvolvedor de games júnior | módulo 1 | capítulo 7
517
Passo 65 – Ainda na barra da esquerda, procure e clique em ‘Game Flow’ (fluxo
do jogo). Nas opções que surgiram, clique em ‘Load Level’ (carregar nível).
518
Passo 66 – Reorganize os blocos como indicado abaixo: ‘MouseClick’,
‘Keyboard’ e ‘LoadLevel’. Esses blocos não têm nenhuma relação uns com
os outros e, por enquanto, não possuem interligação, desse modo, não
funcionarão ainda.
Passo 67 – A ideia é que, quando o jogador iniciar o game, na tela ‘begin’, ele
possa dar um clique ou apertar a tecla ‘espaço’ no teclado e, caso qualquer
uma dessas opções aconteça, o jogador seja levado para a tela de escolha desenvolvedor de games júnior | módulo 1 | capítulo 7
do personagem (os barcos). Para criar essa programação, note que no
bloco ‘MouseClick’ existem algumas bolinhas da cor branca que podemos
interligar com outros objetos. Dê um clique e permaneça pressionando na
opção ‘down’ (para baixo). Na sequência, arraste o mouse até a opção ‘go’
do bloco ‘LoadLevel’.
519
desenvolvedor de games júnior | módulo 1 | capítulo 7
520
Passo 69 – Perceba que uma linha foi criada interligando os dois
blocos. Isso significa que, ao clicar com o botão esquerdo do mouse, a
ferramenta Flowlab nos levará para o próximo level, ou seja, na tela de
escolha dos personagens.
521
Passo 70 – Configuraremos, agora, o teclado. Clique uma vez com o botão
esquerdo no bloco ‘Keyboard’ e, na janela que surgiu, clique no botão ‘Change
Key’ (mudar chave). Na sequência, aperte a tecla ‘espaço’ no teclado e,
depois, clique em ‘OK’.
522
Passo 71 – Leve o mouse na opção ‘down’ do ‘Keyboard’, clique, mantenha
pressionado e arraste o mouse até a opção ‘get’ do bloco ‘LoadLevel’. Ou
seja, caso o jogador clique ou se ele apertar a tecla espaço, será levado
para a tela de escolha dos personagens.
professor
523
Passo 72 – Terminada a programação, clique no botão ‘OK’. Por fim, clique
em ‘OK’ novamente.
525
Passo 75 – O clique do mouse foi testado com sucesso! Precisamos testar
também a tecla ‘espaço’ do teclado. Na parte inferior da tela de teste, clique
no botão ‘Edit Game’ (editar jogo).
526
Passo 77 – Agora que estamos na tela ‘begin’, podemos clicar no botão
‘Play’ novamente. A ideia é testar a tecla ‘espaço’ no teclado.
527
Passo 78 – Assim que entrarmos na tela de teste do game, basta apertar a
tecla ‘espaço’ (barra de espaço) do teclado. Perceba que também seremos
levados para a tela de escolha dos personagens.
528
backup
Aprox. 2 Minutos
professor
530
level complete
Aprox. 2 Minutos
professor
532
capítulo 8
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
professor
Objetivos da aula:
desenvolvedor de games júnior | módulo 1 | capítulo 8
Nesta aula, você vai:
• Iniciar a construção do Level (fase) 1;
• Inserir o background (fundo de tela);
• Criar limites e bloqueios;
• Programar os eventos do objeto responsável por entender a escolha
do jogador;
• Programar os movimentos dos barcos.
• Continuar aprendendo sobre o paradigma orientado a objetos.
• Entender o conceito de classes, atributos e métodos.
535
back-end
Aprox. 10 Minutos
professor
// Professor(a), nesta aula os alunos continuarão a desenvolver o
game que envolve a escolha dos barcos. Esse processo demanda
atenção por parte da lógica que está envolvida. Utilize o material
do aluno para explicar sobre os novos conceitos da orientação
a objetos e, sempre que achar cabível, faça referências durante o
desenvolvimento da aula. \\
https://bit.ly/3Duk98a
537
Antes de começarmos a desenvolver o projeto de hoje, vamos dar
continuidade e aprender novos conceitos do paradigma orientado a objetos.
Cliente
nome;
idade;
endereço.
desenvolvedor de games júnior | módulo 1 | capítulo 8
https://bit.ly/3y46ZgX
538
Abstraindo e representando a classe ‘Personagem’, com as características,
ficaríamos com algo assim:
Personagem
Tipo: guerreiro;
Velocidade: 10x;
Possui escudo: não;
https://bit.ly/3GRIxT9
https://bit.ly/3y1BQL7
539
Dessa maneira, fica mais claro como funciona o processo de abstração para
criar classes, adicionando os atributos (características) e os métodos (ações)!
Você sabia?
A programação é uma das áreas mais
conceituadas da tecnologia moderna e
o primeiro algoritmo foi criado por Ada
desenvolvedor de games júnior | módulo 1 | capítulo 8
Lovelace, em 1833, na qualidade de auxiliar
de Charles Babbage, no decorrer da
construção da máquina analítica. Na época
ninguém proporcionou a devida seriedade
para o que ela havia produzido. Somente com o aparecimento de Alan
Turing é que o mundo reconheceu a importância de Ada Lovelace para
a tecnologia contemporânea.
540
front-end
Aprox. 71 Minutos
offline
professor
// Professor(a), execute essa atividade com os alunos, instruindo-os
para que pensem em dados que os objetos têm em comum. \\
https://bit.ly/35wL341
https://bit.ly/3mezXWO
542
professor
// Professor(a), é importante que os alunos tentem realizar as
abstrações, mas, ao final da atividade, reserve um momento para
apontar os acertos e erros. Abaixo, segue um modelo para cada objeto,
lembrando que não existe um único modelo correto. A abstração
precisa ser genérica e agrupar as principais características e ações
de cada objeto.
Carro
Modelo;
Ano de Fabricação;
Cor.
Liga/Desliga;
Acelera;
Freia.
Foguete
Tamanho;
Peso;
Capacidade.
Acionar propulsão;
Liberar tanques de combustível. desenvolvedor de games júnior | módulo 1 | capítulo 8
Smartwatch
Sistema operacional;
Marca.
Previsão do Tempo;
Consultar Agenda;
Acessar Internet.
\\
543
build and run
professor
// Professor(a), dê início ao passo a passo com os alunos. Será
necessário que você conduza a aula de forma muito cuidadosa, para
que todos os passos sejam realizados com sucesso. \\
544
desenvolvedor de games júnior | módulo 1 | capítulo 8
546
Passo 3 – Na parte inferior da tela de edição, clique na opção ‘Game Levels’
(níveis do jogo). Na janela que surgiu, clique em ‘New Level’ para criar uma
nova tela (novo nível).
547
Passo 4 – Clique no campo ‘New Level’ e renomeie-o para ‘Level 1’ (nível
1). Na sequência, abriremos a nova tela criada. Para isso, clique no botão
‘Load’, na frente do ‘Level 1’.
548
Passo 5 – Perceba que a nova tela será carregada e uma mensagem
aparecerá na parte inferior, avisando: ‘Now Editing Game Layer’ (agora
editando a camada do jogo).
549
Passo 7 – Agora leve o mouse ao centro da tela, clique uma vez com o
botão esquerdo e escolha ‘Create’ (criar).
550
Passo 9 – Na tela de edição de sprite, clique no botão ‘Upload’ (carregar)
para carregarmos a imagem. Na janela que surgiu, clique no botão ‘Choose
File’ (Escolher Arquivo). Procure pela pasta ‘GameOfChoice\sprites’, abra
a imagem ‘level1’ e clique em ‘OK’.
desenvolvedor de games júnior | módulo 1 | capítulo 8
551
Passo 10 - Na tela para ajustar o tamanho da imagem, clique no controle
da esquerda, altere a altura para 17 blocos, este tamanho é o tamanho da
altura do game. Depois clique na diagonal direita inferior da imagem, arraste
dentro da proporção da tela e clique em ‘OK’.
552
553
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 11 – Terminado o carregamento da imagem, clique no botão ‘OK’.
554
Passo 13 – Finalizamos a inserção do cenário do ‘Level 1’. Começaremos
a programar a camada em que os personagens que serão escolhidos - um
dos três barcos - poderão se mover. Na barra inferior, clique na opção ‘Layer’
e escolha ‘Game World’ (mundo do jogo).
555
Passo 14 – Note que este cenário possui um píer (à esquerda) e o mar
por onde o barco poderá navegar (à direita). Nosso barco não poderá subir
no píer, muito menos, sair do mar. Então, isolaremos as áreas por onde o
barco não poderá navegar, bloqueando-as por meio da inserção de blocos
sólidos nesses espaços restritos. A primeira coisa que precisamos fazer é
levar o mouse no final do píer. Clique uma vez com o botão esquerdo e, na
sequência, clique em ‘Create’.
556
Passo 15 – No campo ‘Type’, digite ‘block’ (bloco) e clique em ‘edit sprite’.
Na janela de edição de sprite, clique na ferramenta ‘eraser’ (borracha), clique
e limpe todo bloco; ela removerá a cor inserida automaticamente no bloco.
557
Passo 16 – Precisaremos pintar esse bloco de uma cor clara,
semitransparente. Do lado esquerdo, clique no ícone de um balde de tinta
e, na sequência, clique no retângulo para escolher a cor.
558
Passo 17 – Primeiro, clique na cor branca localizada na parte superior
esquerda. Depois, coloque o canal alpha, ao lado direito, em ‘15’. Feito isso,
clique no ‘OK’ e dê um clique no meio da tela. Perceba que uma camada
com um branco quase transparente aparecerá. Ao final, para fechar a tela
de edição de sprite, clique no ‘OK’.
559
desenvolvedor de games júnior | módulo 1 | capítulo 8
560
Passo 18 – Perceba que ao voltar para a tela ‘Level 1’, vemos que o bloco
que acabamos de inserir no início do píer é semitransparente. Clique no
‘OK’. Agora, precisaremos clonar esse bloco em outros espaços.
561
Passo 19 – Como o objetivo é usar o bloco semitransparente para isolar as
áreas em que o barco não poderá navegar e bloqueá-las, deveremos clonar
esse bloco clicando com o botão esquerdo sobre ele. Escolha a opção ‘Clone’
(clonar). Na sequência, duplique o bloco fazendo uma barreira próxima ao
píer e abaixo da superfície do mar. Bloqueie também a saída do barco na
lateral direita da tela, como mostrado na indicação em vermelho da terceira
imagem abaixo. Caso não seja realizado o bloqueio, o barco poderá afundar.
desenvolvedor de games júnior | módulo 1 | capítulo 8
562
Passo 20 – O que acabamos de fazer foi criar uma barreira. É quase
imperceptível notar a presença do bloco semitransparente, mas ele tem o desenvolvedor de games júnior | módulo 1 | capítulo 8
propósito de impedir que o barco saia para fora desse espaço, pois todo
bloco inserido tem a característica de ser sólido. Ao final, clique no botão
‘Done Cloning’ (clonagem concluída).
563
Passo 21 – Precisaremos configurar a movimentação do personagem, ou
seja, do barco que for escolhido. Como temos três opções de personagens
a serem escolhidos, precisaremos planejar e configurar a movimentação desenvolvedor de games júnior | módulo 1 | capítulo 8
de todos eles. Para isso, leve o mouse ao centro da tela, clique com o
botão esquerdo uma vez e selecione ‘Create’.
564
Passo 22 – Na janela que surgiu, clique no campo ‘Type’ e digite ‘choose1’
(escolha 1). Esse será nosso barco de cor azul. Na sequência, clique em
‘edit sprite’.
565
Note que uma miniatura de todas as imagens carregadas até agora
aparecerá do lado direito. Leve o mouse sobre essas miniaturas e mova
para baixo. Perceba que uma barra de rolagem moverá a tela, até aparecer
as imagens dos barcos.
566
Passo 24 – Assim que aparecer o barco azul, clique uma vez sobre ele.
Depois, basta fechar essa janela, clicando em ‘OK’.
567
Passo 26 – A ferramenta Flowlab possui algumas configurações pré-
prontas de movimentação. Usaremos uma delas para fazer nosso barco se
mover para a esquerda e direita.
desenvolvedor de games júnior | módulo 1 | capítulo 8
Na aba de opções do lado esquerdo, clique uma vez com o botão esquerdo
do mouse em ‘Behavior Bundles’ (pacotes de comportamento). Nas opções
que surgiram, clique em ‘Run & Jump’ (correr e pular). Note que surgirá
um bloco do tipo ‘Run & Jump’ ao centro da tela. Clique em ‘OK’ no canto
inferior esquerdo da tela e novamente em ‘OK’ na última janela.
568
569
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 27 - O último passo é aplicar a física para que para o barco possa
encontrar um objeto sólido e realizar movimentos. Clique em ‘Physics’ (Física).
Ative a opção ‘movable’ (móvel), depois clique em ‘OK’ e em ‘OK’ novamente.
570
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 28 – Clique e mova o barco para perto do píer.
571
Passo 29 – Repetiremos os mesmos passos para os barcos vermelho e
amarelo. Precisamos adicionar os três barcos nesta tela e realizar todas
as configurações e, no final, programar a tela da escolha. Leve o mouse
ao lado do barco azul para adicionarmos o barco vermelho. Clique com o
botão esquerdo uma vez e selecione ‘Create’.
572
Passo 30 – Na janela que surgiu, clique no campo ‘Type’ e digite ‘choose2’ (escolha
2). Esse será o barco de cor vermelha. Na sequência, clique em ‘edit sprite’.
573
Passo 32 – Assim que aparecer o barco vermelho, clique uma vez sobre
ele. Depois, basta fechar a janela clicando no ‘OK’. desenvolvedor de games júnior | módulo 1 | capítulo 8
574
Passo 33 – Para programar a movimentação do barco vermelho, clique em
‘Behaviors’ na janela que surgiu.
575
576
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 35 – Clique e mova o barco vermelho para o lado direito do barco
azul, à direita do píer.
577
Passo 37 – Na janela que surgiu, clique no campo ‘Type’ e digite ‘choose3’
(escolha 3). Esse será o barco de cor amarela. Na sequência, clique em
‘edit sprite’.
578
Passo 38 – Novamente, basta selecionar a imagem que já foi carregada.
Para isso, clique no botão ‘Browse’ do lado direito e leve o mouse sobre
as miniaturas, movendo-o para baixo, até que as imagens dos barcos
apareçam. Assim que aparecer o barco amarelo, clique uma vez sobre ele.
Depois, basta fechar essa janela clicando no ‘OK’.
579
Passo 39 – Para programar a movimentação do barco amarelo, clique em
‘Behaviors’ na janela que surgiu.
580
Passo 40 – Utilizaremos as mesmas configurações pré-prontas de
movimentação. Na aba de opções do lado esquerdo, clique uma vez
com o botão esquerdo do mouse em ‘Behavior Bundles’. Nas opções
que surgirem, clique em ‘Run & Jump’. Clique no ‘OK’ no canto inferior
esquerdo da tela e no ‘OK’ da última janela.
581
582
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 41 – Clique e mova o barco amarelo para o lado direito do barco
vermelho, à direita do píer.
professor
583
desenvolvedor de games júnior | módulo 1 | capítulo 8
584
desenvolvedor de games júnior | módulo 1 | capítulo 8
585
Passo 45 – Na janela que surgiu, clique no campo ‘Type’ e digite
‘PlayerController’. Como esse é o objeto mais importante do game, iremos
pintá-lo de uma cor diferente, assim, clique no botão ‘edit sprite’.
586
Passo 46 – Para limpar a configuração de cor pré-existente no bloco,
clique no botão ‘erase’, clique na tela e limpe todo as cores. Em seguida,
altere o tamanho da ‘grid’ (rede) para ‘4’.
587
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 47 – Clique no ícone ‘pencil’ (lápis), depois escolha uma cor na barra
direita e clique dentro do retângulo referente a ela. Usaremos a cor amarela
no exemplo, mas fique à vontade para escolher qualquer cor que preferir.
588
589
desenvolvedor de games júnior | módulo 1 | capítulo 8
Passo 48 – Pintaremos o centro de amarelo e as bordas do elemento de
outra cor. No caso, usaremos o vermelho, mas o importante é que esse
bloco tenha duas cores diferentes.
590
Passo 49 – Após pintar o objeto, clique no botão ‘OK’. Na sequência, leve
o mouse na opção ‘Name’ e digite o mesmo nome que definimos para o
objeto ‘PlayerController’.
591
Passo 50 – Depois, leve o mouse até ‘Reset’ (reiniciar), dê um clique e
troque para ‘Keep between levels’ (mantenha-se entre as camadas). Isso
fará com que o bloco ‘PlayerController’ seja visível em todos os três níveis
que já criamos. Ao final, clique em ‘OK’.
592
backup
Aprox. 2 Minutos
professor
594
level complete
Aprox. 2 Minutos
professor
596
capítulo 9
desenvolvedor
de games júnior
daily
Aprox. 5 Minutos
Atenção, professor(a)!
Material do aluno
Olá, aluno. Tudo bem? Está preparado para nosso último encontro deste
módulo?
Na aula anterior, você teve como missão apresentar o game que estamos
desenvolvendo para os pais, responsáveis e amigos. Caso queira
compartilhar as opiniões que conseguiu na semana, este é o momento.
599
Material do aluno
Objetivos da aula:
600
back-end
Aprox. 10 Minutos
Atenção, professor(a)!
// Professor(a), nesta aula, os alunos finalizarão o game. Você
notará que alguns passos são semelhantes para os três barcos.
Aproveite esse processo de repetição para enfatizar o aprendizado
e testar os conhecimentos dos alunos. Antes, utilize o material do
aluno para explicar sobre o conceito de encapsulamento, que está
atrelado à segurança do paradigma de orientação a objetos. \\
Material do aluno
Quando estamos programando jogos ou aplicativos, existem situações em
que devemos proteger as informações sigilosas ou sensíveis. Ao proteger
esses dados, evitamos que eles possam ser alterados indevidamente.
Life 100 50
https://bit.ly/33VStgc
603
Atualmente guardamos/protegemos informações o tempo todo, como,
por exemplo, através das senhas de acesso. Uma senha é uma palavra ou
código secreto previamente convencionado entre as partes, como forma
de reconhecimento. O uso de senhas é o método mais comum usado para
provar a identidade de alguém ao acessar sites, contas de e-mail, aplicativos,
redes sociais ou o próprio computador/celular. Seu uso normalmente é
associado ao nome de usuário.
Portanto, sempre que for preciso criar novas senhas, evite dados óbvios
como as datas de aniversário, sobrenome da família ou o número de
telefone. O segredo de uma boa senha é mesclar letras, números e desenvolvedor de games júnior | módulo 1 | capítulo 9
símbolos especiais.
604
Quando programamos jogos ou aplicativos podemos definir graus de acesso
para cada informação, ou seja, podemos definir que atributos ou métodos
são ‘public’ (públicos) – isto é, permitem acesso a qualquer código externo à
classe, ‘private’ (privados) – isto é, proíbem qualquer acesso externo à própria
classe, inclusive das classes filhas, ou ‘protected’ (protegidos) – permitem
acesso às classes filhas, mas proíbem a qualquer outro acesso externo.
Você sabia?
Hoje em dia, o GPS dos
smartphones mais avançados
tem uma precisão que varia de
três a cinco metros. Ou seja,
desenvolvedor de games júnior | módulo 1 | capítulo 9
ele não é capaz de determinar
exatamente em qual cômodo da casa você está, ou mesmo se você
está por cima ou embaixo de um viaduto, por exemplo. Esse tipo de
‘não precisão’, pode ser benéfico quando falamos sobre segurança,
afinal, pode ser extremamente prejudicial se criminosos conseguirem
obter a localização precisa das pessoas.
Referências:
https://bit.ly/3nNZXce
https://bit.ly/3FOBIRq
605
front-end
Aprox. 71 Minutos
offline
Atenção, professor(a)!
// Professor(a), nesta atividade, os alunos utilizarão uma folha
de papel, uma caneta ou lápis. Inicialmente, eles farão desenhos
de casas e de moradores (uma criança e um responsável),
que representarão as classes de um programa e a relação de
herança. Depois, eles criarão informações (atributos ou funções)
relacionadas aos moradores e, com isso, trabalharão os conceitos
relacionados aos modificadores de acesso da linguagem orientada
a objetos. \\
Material do aluno
Vamos começar a colocar a mão na massa para entender na prática
o conceito de encapsulamento e proteção de dados apresentados no
desenvolvedor de games júnior | módulo 1 | capítulo 9
início da aula?
Atenção, professor(a)!
608
Material do aluno
Atenção, professor(a)!
// Assim que todos os alunos terminarem, chegou o momento
de classificar as informações considerando os modificadores de
acesso trabalhados. É importante que você seja o mediador e ajude
os alunos nas classificações: ‘informações públicas’, ‘informações
privadas’ e ‘informações protegidas’. \\
609
Material do aluno
• Privado.
• Protegido.
• Público.
Atenção, professor(a)!
// Após os alunos terminarem, peça para que compartilhem com a
turma as respostas. Vale lembrar que algumas informações podem
ser consideradas privadas, protegidas ou públicas dependendo
da intenção do programador. Por exemplo, o João tem medo de desenvolvedor de games júnior | módulo 1 | capítulo 9
cachorro, ele pode optar por guardar esse segredo para si, pode
escolher compartilhar com o pai/mãe dele, ou até mesmo contar
para outras pessoas fora da família, tudo depende do que ele achar
conveniente. \\
Material do aluno
610
build and run Tempo estimado 61 minutos
Atenção, professor(a)!
// Professor(a), dê início ao passo a passo com os alunos. Aqui será
necessário que você conduza a aula de forma muito cuidadosa, para
que todos os passos sejam realizados com sucesso. \\
Material do aluno
Agora que você já entendeu o conceito de segurança e encapsulamento,
chegou a hora de finalizarmos nosso game de escolhas. Siga o passo a
passo e boa diversão!
611
Passo 3 – Na tela de ‘login’, digite o e-mail, a senha e, na sequência, clique
em ‘Sign In’ (Entrar).
612
ao lado direito. Clique em ‘My Games’ (Meus jogos).
613
Passo 6 – Na sequência, iremos para a ‘Layer 1’, que finalizamos na aula
anterior. Clique no botão ‘Game Levels’ (Níveis de jogo) da barra inferior.
Depois, clique no botão ‘Load’ (Carregar) da tela ‘Choice Screen’, que é a
nossa tela de escolhas.
614
Passo 7 – No último passo da aula anterior, criamos o bloco
‘PlayerController’, então, precisamos criar a programação de cada barco
escolhido. Uma vez que o barco for escolhido, o bloco ‘PlayerController’
precisará receber essa informação. Leve o mouse e clique uma vez sobre
o barco um, o de cor azul. Na sequência, clique em ‘Edit’. Na janela que
surgiu, clique em ‘Behaviors’ (comportamentos).
615
Passo 8 – No painel à esquerda, dentro de ‘Triggers’ (gatilhos), clique uma
vez em ‘MouseClick’, que verificará o clique do mouse, e em ‘Keyboard’,
que checará se determinada tecla será pressionada. Note que os blocos
surgirão à direita.
616
Passo 9 – Clique uma vez no bloco ‘Keyboard’. Na janela que surgiu, clique
na opção ‘Change Key’ para mudar a tecla que será detectada, digite o
número ‘1’ e clique em ‘OK’.
617
Passo 11 – Por fim, clique na opção ‘Components’ (Componentes) e dê um
clique em ‘Message’ (Mensagem), que permite enviar mensagens.
618
Passo 12 – Vamos realizar a ligação desses objetos. Leve o mouse na
bolinha ‘down’ (para baixo) do bloco ‘MouseClick’, que é acionado quando o
botão esquerdo do mouse for pressionado. Clique e arraste-a até a bolinha
‘get’ (obter) do componente ‘Number’. O ‘get’ fará com que o número seja
enviado ao final do bloco.
619
Passo 14 – Realizaremos a ligação do objeto ‘Number’. Leve o mouse na
bolinha ‘out’ (saída) do bloco ‘Number’, clique e arraste-a até a bolinha
‘send’ do componente ‘Message’ (Mensagem), para que a mensagem seja
enviada.
620
Passo 16 – Como esse é o personagem de número ‘1’ a ser escolhido, na
tela de seleção de personagem, clique no bloco ‘Number’ e, na janela que
desenvolvedor de games júnior | módulo 1 | capítulo 9
surgir, aumente ‘Current value’ (Valor atual) para ‘1’. Ao final, clique em ‘OK’.
621
Passo 17 – Configuraremos o comportamento do barco dois, o de cor
vermelha, de modo semelhante ao que fizemos com o primeiro barco. Leve
o mouse e clique uma vez sobre o barco dois. Na sequência, clique em ‘Edit’.
Na janela que surgiu, clique em ‘Behaviors’ para definir a programação.
622
Passo 18 – No painel à esquerda, dentro de ‘Triggers’, clique mais uma vez
em ‘MouseClick’ e ‘Keyboard’. Note que os blocos relacionados ao clique
do mouse e do teclado surgirão à direita.
623
Passo 19 – Clique uma vez no bloco ‘Keyboard’. Na janela que surgiu, clique
no botão ‘Change Key’ para alterar a tecla a ser detectada, digite o número
‘2’ e clique em ‘OK’.
624
Passo 20 – Clique no campo ‘Logic & Math’. Dentro dele, clique em ‘Number’,
que corresponde ao bloco numérico.
625
Passo 21 – Por fim, clique na opção ‘Components’ e dê um clique em
‘Message’, para inserir o bloco de mensagens.
626
Passo 23 – Então, iremos realizar a ligação do objeto ‘Keyboard’. Leve
o mouse na bolinha ‘down’ do bloco ‘Keyboard’, clique e arraste-a até a
bolinha ‘get’ do componente ‘Number’, para que o pressionar da tecla 2
seja detectado.
627
Passo 25 – Clique no bloco ‘Message’ e, na parte superior, digite
‘playerselect’. Na sequência, no campo ‘Select Type’, clique e escolha o
objeto ‘PlayerController’. Ou seja, caso o barco dois seja escolhido, uma
mensagem será enviada diretamente para a classe ‘PlayerController’.
628
Passo 27 – Configuraremos o comportamento do barco três, o de cor
amarela, assim como feito com os demais barcos. Leve o mouse e clique
uma vez sobre ele. Na sequência, clique em ‘Edit’. Na janela que surgiu,
clique em ‘Behaviors’.
629
Passo 28 – No painel à esquerda, dentro de ‘Triggers’, clique novamente em
‘MouseClick’ e em ‘Keyboard’. Note que os blocos relacionados ao clique
do mouse e do teclado surgirão à direita.
630
Passo 29 – Clique uma vez no bloco ‘Keyboard’. Na janela que surgiu, clique
no botão ‘Change Key’ para alterar a tecla a ser detectada, digite o número
‘3’ e clique em ‘OK’.
631
Passo 30 – Clique no campo ‘Logic & Math’ e, dentro dele, clique em
‘Number’, que corresponde ao bloco numérico.
632
Passo 31 – Por fim, clique na opção ‘Components’ e dê um clique em
‘Message’, para inserir o bloco de mensagens.
633
Passo 33 – Vamos realizar a ligação do objeto ‘Keyboard’. Leve o mouse
na bolinha ‘down’ do bloco ‘Keyboard’, clique e arraste-a até a bolinha ‘get’
do componente ‘Number’, para que o pressionar da tecla 3 seja detectado.
634
Passo 35 – Clique no bloco ‘Message’ e, na parte superior, digite
‘playerselect’. Na sequência, no campo ‘Select Type’, clique e escolha o
objeto ‘PlayerController’. Ou seja, caso o barco três seja escolhido, uma
mensagem será enviada diretamente para a classe ‘PlayerController’.
635
Passo 36 – Como esse é o personagem ‘3’ a ser escolhido na tela de seleção
de personagem, clique no bloco ‘Number’ e, na janela que surgir, aumente
‘Current value’ para ‘3’. Ao final, clique em ‘OK’.
636
Passo 38 – Acabamos de programar a escolha de cada personagem
e as mensagens que serão enviadas do bloco ‘Player Controller’. Agora,
precisamos pegar as mensagens recebidas e tratá-las, ou seja, precisamos
escolher o que acontecerá uma vez que recebermos a mensagem
‘playerselect’. Então, clique uma vez sobre o objeto ‘Player Controller’,
depois, clique em ‘Edit’ e, na próxima janela, clique em ‘Behaviors’.
637
Passo 39 – A primeira tratativa que faremos será em relação ao recebimento
da mensagem ‘playerselect’ que acabamos de incluir na escolha de cada
personagem. Se escolhermos um personagem qualquer, a primeira coisa
que acontecerá será mudar o nível para ‘Level 1’, que é a fase principal.
Para programar isso, clique em ‘Triggers’ e, depois, em ‘Mailbox’ (Caixa de
mensagens), que é ativado quando uma mensagem é recebida.
desenvolvedor de games júnior | módulo 1 | capítulo 9
638
Passo 40 – Vá em ‘Game Flow’ (fluxo do game) e, depois, em ‘Next Level’
(Próximo nível). Na sequência, interligue os dois objetos adicionados. Clique
na bolinha ‘out’ de ‘Mailbox’ e ligue-a com a bolinha ‘go’ de ‘NextLevel’, para
que o usuário seja direcionado para o próximo nível (nível inicial) do jogo.
639
Passo 41 – Na mesma tela, precisamos criar um controle para receber qual
personagem foi escolhido. Essa escolha dependerá dos números de 1 a 3
que definimos para os personagens, sendo:
1 Barco azul
2 Barco vermelho
3 Barco amarelo
Passo 43 – Uma vez inserido o bloco ‘Once’, clique nele para editar
sua configuração. Ative a opção ‘Reset on level start’ para que ele seja
redefinido toda vez que o nível iniciar. Ao final clique em ‘OK’.
640
641
desenvolvedor de games júnior | módulo 1 | capítulo 9
Passo 44 – Depois, clique em ‘Logic & Math’ e escolha ‘Switch’ (Interruptor),
que é responsável por habilitar ou desabilitar determinada programação.
642
Passo 46 – Para realizarmos a ligação, clique na bolinha ‘out’ do bloco
‘Once’ e arraste-a até a bolinha ‘in’ (entrada) do bloco ‘Switch’.
643
Passo 48 – Agora, transmitiremos a mensagem de que o personagem
foi selecionado e o número dele. Essa mensagem foi recebida pelo bloco
‘Mailbox’ e precisa ser retransmitida para os blocos ‘Switch’ e ‘Number’.
Clique em cima do bloco ‘Mailbox’, digite ‘playerselect’, pois foi essa a
mensagem que configuramos ao selecionar um personagem na tela da
escolha e, ao final, clique em ‘OK’.
644
Passo 50 – Repita o processo e interligue a bolinha ‘out’ de ‘Mailbox’ até
a bolinha ‘set’ de ‘Number’. Isso permitirá enviar para o bloco de número
(‘Number’) qual foi o personagem escolhido: 1, 2 ou 3.
Atenção, professor(a)!
645
Passo 51 – Agora que o bloco ‘Number’ recebeu a escolha do jogador,
precisamos desenvolver o controle que criará o barco na fase ‘Level 1’, ou
seja, que fará com que ele apareça. Para isso, precisaremos de três filtros.
Do lado esquerdo, dentro de ‘Logic & Math’, clique três vezes em ‘Filter’
(filtro) e organize a visualização, de modo que um fique abaixo do outro.
646
Passo 53 – Repita o processo com o segundo filtro. Selecione o campo
‘equal to’ e, no campo abaixo, troque o valor para ‘2’. Depois, clique em ‘OK’.
647
Passo 54 – Repita o processo com o terceiro filtro. Selecione o campo
‘equal to’ e, no campo abaixo, troque o valor para ‘3’. Depois, clique em ‘OK’.
648
desenvolvedor de games júnior | módulo 1 | capítulo 9
649
Passo 57 – Repita o mesmo processo para os demais filtros, como
mostrado abaixo.
650
Passo 58 – Selecione o primeiro bloco ‘Spawn’, pois precisamos configurar
o que será gerado/criado na tela seguinte uma vez que escolhermos o
personagem ‘1’.
651
Atenção, professor(a)!
652
Passo 62 – Agora, selecione o terceiro bloco ‘Spawn’, pois precisamos
configurar o que será gerado uma vez que escolhermos o personagem ‘3’.
653
Passo 63 – Na janela que surgir, clique no campo ‘Type to Spawn’ e escolha
‘choose3’, referente ao terceiro barco. Digite ‘350’ no campo ‘Spawn X’ e
‘200’ em ‘Spawn Y’, pois essa é a posição em que o barco amarelo será
criado na tela.
654
Passo 65 – A última configuração será escolher qual será o level/nível em
que direcionaremos o barco, uma vez que escolhermos o personagem.
Clique no bloco ‘NextLevel’ e escolha o ‘Level 1’. Ao final, clique em ‘OK’.
655
Passo 66 – Agora que o bloco ‘Player Controller’ está configurado, antes
de testarmos o nosso game, precisamos deletar os objetos que estão
aparecendo no ‘Level 1’. Na barra inferior, clique em ‘Game Levels’. Depois,
clique em ‘Load’.
656
desenvolvedor de games júnior | módulo 1 | capítulo 9
657
Passo 69 – Clique em ‘Play’.
658
desenvolvedor de games júnior | módulo 1 | capítulo 9
Passo 70 – Neste teste, use o mouse para clicar nos barcos ou use os
números de 1 ao 3 do teclado.
659
Passo 71 – Parabéns navegante! Seu game de escolha de personagem
está pronto e programado!
660
backup
Aprox. 2 Minutos
Atenção, professor(a)!
Material do aluno
Quanto à programação do game, programamos a escolha dos barcos, bem desenvolvedor de games júnior | módulo 1 | capítulo 9
662
level complete
Aprox. 2 Minutos
Atenção, professor(a)!
Material do aluno
664