Titulo | Primeiros passos - Parte 2 |
Ferramenta | Construct 2 |
Resumo | Continuação do tutorial Primeiros Passos, agora com a movimentação do UFO! |
Você agora já deve ter noção de como usar a interface do C2. Por isso nesse tutorial serei mais suscinto nas explicações sobre a interface indo mais diretamente ao ponto.
O movimento que vamos colocar em nosso UFO é simples. Ele vai se deslocar para direita e reaparecer no canto esquerdo um pouco mais abaixo. Estilo classico e bem simples. Falando em termos de programação, isso ficaria assim:
- Em cada passo somar N ao valor de X do UFO. N pode ser qualquer valor, quanto maior, mais rápido.
- Se o valor X do UFO for maior que o tamanho da janela ENTÃO X = -(Tamanho do Sprite) e Y = Y + M, M pode ser qualquer valor também.
Veja na imagem abaixo como deve ficar a sua "Event Sheet" para que o nosso UFO se movimente como descrevemos acima:
Se você observar atentamente esse desenho verá que adicionamos 2 Eventos novos e que eles residem dentro do objeto interno System e do nosso objeto sprite "Sprite".
- Executar Expressão X = X + 4 a cada tick (Step)
- Primeiro adicionamos um evento clicando em "Add Event" ao fazer isso devemos selecionar o objeto "System" e pressionar "Next"
- Após isso surge uma tela onde devemos selecionar o evento que nos interessa dentro de "System" que no caso seria "Every tick"
- Agora, clicamos "Add action". Qual ação estamos interessados? Selecione o objeto "Sprite" e selecione "Set X"
- Vamos querer setar X para ele mesmo + 4, então coloque a expressão "Sprite.X + 4" na tela. Ok
Como está ficando o nosso projeto? Clique Aqui e descubra!
Interceptando o UFO
Ok, esse alien está se aproximando cada vez mais e precisamos detê-los, mas como? Simples, vamos criar uma nave que possa intercepta-lo. Para isso precisaremos de, ora bolas, um Sprite de nave.
Abaixo está um bem legal:
Salve este sprite em um local no seu HD pra podermos acessa-lo pelo C2.
Adicione um novo objeto Sprite e coloque-o no Layout2.
Agora, precisamos dar um jeito de mover a nossa nave para esquerda e para direita usando as setas.
Usando Toque para mover a nave
Quando criamos um jogo no C2 na verdade estamos criando algo que pode rodar em qualquer browser que suporte HTML5. Isso abre um grande leque para jogabilidade do nosso jogo, pois o browser Safari que roda nos IPad por exemplo suporta perfeitamente HTML5 e isso significa que nosso jogo pode rodar em um IPad que não tem "setinhas" para mover a nossa nave, mas que suporta "Toques" em sua tela Touch Screen. Mas como vamos fazer isso? Simples. Vamos interceptar alguns Eventos de Toque.
Vamos inserir um objeto especial que recebe Eventos "touch" para nós. Vá até algum layout (não precisa ser o 2 tanto faz) e insira um novo objeto, procure por "Touch".
Ok, agora que inserimos o objeto touch vamos até a "Event Sheet 1" se vamos interceptar alguns eventos. Primeiro vamos deixar bem claro para nós mesmos o que estamos querendo. Ou seja:
- Quando eu tocar no IPad E o X do local do toque for MENOR que o X da Nave, MOVER para ESQUERDA
- Quando eu tocar no IPad E o X do local do toque for MAIOR que o X da Nave, MOVER para DIREITA
É somente isso que queremos. Observe o "E" que liga duas ou mais condições simples. Ou seja para realizar cada ação temos que ter duas condições satisfeitas. Somente se as 2 forem VERDADEIRAS a ação será executada.
Vamos montar a primeira condição:
- Adicione um "Evento" Selecione o objeto "Touch" e então o Evento "Is in Touch".
- Agora no Evento recém adicionado adiciona "Another Condition" (outra condição)
- Clique com o botão "Direito" do mouse em cima da condição atual e em "Add another condition". Selecione "System" e "Compare variable".
- coloque "Touch.x" "<" "Sprite2.X". Agora a noção "Condição de movimento para "Esquerda" está pronta.
Veja na imagem como fica com as 2 condições:
Deixo para você o exercício de criar a segunda condição. Basta seguir como foi feito na primeira. Isso tudo é bem simples, basta pegar o jeito da coisa e ir "montando" seu jogo. Na proxima parte, vamos soltar alguns tiros nesse alien invasor! Até lá!
Flws!