top of page

CRIANDO UM JOGO DE PLATAFORMA

Aprenda como criar um jogo de plataforma utilizando ou não o joystick, do fácil ao avançado.

JOGO DE PLATAFORMA 1.jpg
JOGO DE PLATAFORMA 2.jpg

1 - USANDO APENAS ASTAROUT MEMORY EXECUTE :

[ FÁCIL ]

- Aqui você vai criar um jogo de plataforma, utilizando os joysticks, de forma rápida e utilizando poucas linhas de códigos, poupando linhas para fazer um jogo mais elaborado.

BOTAO 17.png

1 - Adicione o objeto 1, no cenário, ele será o nosso objeto player, pois ele é o objeto ideal para ser o Player.

Utilizaremos o Astarout Memory Execute nesse nosso tutorial, é a melhor forma de criar uma movimentação no Astarout.

Para Plataforma, a gente tem 4 opções para utilizar no nosso jogo:

- DO TIPO 1:

astarout_memory_execute(565781)

( O objeto se move em quatro direções do joystick apenas, utilizando 10 sprites do sprite tool editor, com a possibilidade de dar apenas um único pulo )

JOYSTICK PADRAO1_strip2.png
SPRITETOOL_10.png

- DO TIPO 2:

astarout_memory_execute(895439)

( O objeto se move em quatro direções do joystick apenas, utilizando 12 sprites do sprite tool editor, com a possibilidade de dar um pulo duplo )

JOYSTICK PADRAO1_strip2.png
SPRITETOOL_12.png

- DO TIPO 3:

astarout_memory_execute(999587)

( O objeto se move em oito direções do joystick, utilizando 10 sprites do sprite tool editor, com a possibilidade de dar apenas um único pulo )

SPR_JOYPADRAO2.png
SPRITETOOL_10.png

- DO TIPO 4:

astarout_memory_execute(669966)

( O objeto se move em oito direções do joystick, utilizando 12 sprites do sprite tool editor, com a possibilidade de dar um pulo duplo )

SPR_JOYPADRAO2.png
SPRITETOOL_12.png

2 - No nosso exemplo, coloque na primeira linha o código: 

PRIMEIRA LINHA:

astarout_memory_execute(669966) = 8

Se você testar, você vai notar que o objeto já possuí gravidade própria do Astarout Memory Execute, então ele vai cair... Porém ele já vai ter toda uma movimentação para jogos de plataforma pronta para ser utilizada, bastando apenas trocar os sprites.

O valor que vem depois do "=" é a velocidade em pixel por segundos, no caso colocamos a velocidade 8. Para o objeto não cair no vácuo, coloque o código:

SEGUNDA LINHA:

plataform_test_create = true

Agora o Astarout vai criar uma plataforma padrão apenas para teste, fazendo com que seu objeto não cai para fora da room ou da câmera.

plataform_test_create.png

3 - Agora podemos criar uma colisão com outro objeto, para setar este outro objeto como um chão, parede, ou teto...

Eu de preferência utilizo o objeto 6, que é o objeto padrão para utilizar como colisão. Você carrega um sprite gigante como background, depois só coloca o objeto 6 em cima para fazer a colisão invisível. Mas nada impede do usuário utilizar qualquer outro objeto para colisão

TERCEIRA LINHA:

if place_meeting(x,y,object6){

QUARTA LINHA:

collision = true

objeto plataforma block invisible.png

Place_meeting, é uma condition ( condição de colisão ) e "collision = true" é o nosso código de colisão.

Para entender o código melhor, funciona assim:

( Se (if) o objeto que você colocou o script, no caso o objeto_1, colidir com o objeto_6, então o comando de collisão padrão é verdadeiro.

O nosso script final ficou assim:

astarout_memory_execute(669966) = 8

plataform_test_create = true

if place_meeting(x,y,object6){

collision = true

Pronto, agora já temos toda movimentação pronta... Temos a colisão com o chão pronta também, agora basta apenas colocar a mão na massa.

Caso você tenha dúvidas para criar um ataque para o seu Player, veja o tutorial de Virtual_Keys que você rapidinho conseguirá criar um ataque, clique no link abaixo:

Criando um ataque utilizando os Virtual Keys:

astarout ataque.png

Agora eu vou te dar algumas dicas que você precisa saber, para utilizar da melhor forma os joysticks e conhecer muito bem o Astarout Memory Execute.

Existe um quinto tipo de Astarout Memory Execute para Plataforma que você pode utilizar, a diferença é que ele não possuí pulo, o código para você criar este pulo no Virtual Key é:

- DO TIPO 5:

astarout_memory_execute(357912)

( O objeto se move em oito direções do joystick, utilizando 12 sprites do sprite tool editor, sem utilizar pulo )

SPR_JOYPADRAO3.png
SPRITETOOL_12.png

Para criar um pulo, você vai ter que adicionar um Virtual Key, no caso vou utilizar o Virtual Key A, coloque ele na tela e depois os seguintes códigos: 

SCRIPT LINHA:

if virtual_check_c{

SCRIPT LINHA 2:

jump = 8

O "8" no código do script padrão de pulo, significa que ele vai se mover em uma vspeed de 8 (pixels por segundo) para cima.

Você sabia que o Astarout possuí mais de um Joystick ? Você pode ativar e desativar os dois Joysticks apenas usando um código.

- ATIVAR O PRIMEIRO JOYSTICK_1:

JOY1 = TRUE

( Esse por padrão já vem ativado... )

- DESATIVAR O PRIMEIRO JOYSTICK_1:

JOY1 = FALSE

( Assim possibilitando usar os Virtual Keys sem problema)

- ATIVAR O SEGUNDO JOYSTICK_2:

JOY2 = TRUE

( Esse por padrão já vem ativado... )

- DESATIVAR O SEGUNDO JOYSTICK_2:

JOY2 = FALSE

DUPLO JOYSTICKS.png

Existem conditions ( condições ) que você pode utilizar para verificar para onde o joystick está sendo pressionado, e assim executar uma ação:

todas direções joy astarout.png

- Códigos para detectar Joystick_1:

- PARADO:

if joy = parado{
if joy = stop{
if joy = null{

if AME = -1{

- ESQUERDA:

if joy = esquerda{
if joy = left{

if AME = 0{

 

- DIREITA:

if joy = direita{
if joy = right{

if AME = 1{

- CIMA:

if joy = up{
if joy = cima{

if joy = acima{

if AME = 2{

- ABAIXO:

if joy = down{
if joy = baixo{

if joy = abaixo{

if AME = 3{

- ESQUERDA-CIMA:

if joy = L-UP{
if joy = esq-cima{

if joy = esq-acima{

if AME = 6{

- DIREITA-CIMA:

if joy = R-UP{
if joy = dir-cima{

if joy = dir-acima{

if AME = 7{

- ESQUERDA-BAIXO:

if joy = L-DOWN{
if joy = esq-baixo{

if joy = esq-abaixo{

if AME = 4{

- DIREITA-BAIXO:

if joy = R-DOWN{
if joy = dir-baixo{

if joy = dir-abaixo{

if AME = 5{

Para utilizar com o Joystick da direita, basta colocar um R do lado do código, ficando assim:

- Exemplo para detectar Joystick_2:

- PARADO:

if joyr = parado{
if joyr = stop{
if joyr = null{

if AMER = -1{

todas direções joy astarout2.png

E então gostou do nosso tutorial de JOYSTICK no Astarout Engine ? Viu como é fácil ? Visite as outras abas do site e aprenda muito mais !!!

Visite também nossos dois canais do youtube para dar uma força

https://www.youtube.com/watch?v=mRWh6yGSg5A

bottom of page