[tutorial basico] Criando um jogo RPG

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[tutorial basico] Criando um jogo RPG

Mensagem por Isaque Onix em Qua 13 Mar 2013, 12:26


Sprite do player e do enemy

crie 3 sprites 16x16 de cores diferentes para esse tutorial: sprEnemy(A cima), sprPlayer(A cima) e sprSolido.
Scripts:

nokey:
Código:
//nome do script: nokey
if(!keyboard_check(vk_up) && !keyboard_check(vk_left) && !keyboard_check(vk_down) && !keyboard_check(vk_right))
{
return (true) exit;
}else{
return (false) exit;
}
Parte 1: Movimento de Player
antes de tudo, crie seu obj_player.
um ótimo sistema que eu uso é de checar se o objeto está posicionado a grid antes de sair do lugar, é muito eficiente e ajuda na hora das colisões.
coloque o seguinte codigo no step do player:
Spoiler:
Código:
image_speed=0
if(nokey() && !place_snapped(16,16)){speed=2}else{speed=0}
if(!nokey()){speed=2}

if(place_snapped(16,16)){
if(keyboard_check(vk_left)){direction=180 image_index=2}
if(keyboard_check(vk_down)){direction=270 image_index=1}
if(keyboard_check(vk_right)){direction=0 image_index=0}
if(keyboard_check(vk_up)){direction=90 image_index=3}}
Simples não?
Oque o codigo faz??
1: ele checa, se nenhuma tecla é precionada e o player não esta posicionado em 16x16 ele continua andando, do contrario, ele para de andar.
2: se alguma tecla foi precionada, o player anda.
3: se o player está posicionado em 16x16:
se a ceta para a esquerda(vk_left) for precionada, a direção será 180 e a imagem será 2.
se a ceta para a baixo(vk_down) for precionada, a direção será 270 e a imagem será 2.
se a ceta para a direita(vk_right) for precionada, a direção será 0 e a imagem será 2.
se a ceta para cima(vk_up) for precionada, a direção será 90 e a imagem será 2.

crie o objeto obj_solido, e marque solid.
agora voltando ao player, coloque no evento colisão com obj_solid coloque o seguinte:
Spoiler:
Código:
move_snap(16,16)
speed=0
Parte 2: Movimento de Inimigo
esse é mais trabalhado, pois tem que faze-lo checar se o espaço está aberto para faze-lo seguir.
coloque o seguinte codigo no step do inimigo:

Spoiler:
Código:
if(distance_to_object(obj_player)>64){
if(place_snapped(16,16)){speed=choose(1,0)
if(place_free(x+12,y) && place_free(x,y+12) && place_free(x-12,y) && place_free(x,y-12)){
direction=choose(0,90,180,270)
}else
//checa em 3
if(place_free(x+12,y) && place_free(x,y+12) && !place_free(x-12,y) && place_free(x,y-12)){//esquerda
direction=choose(0,90,270)
}else
if(place_free(x+12,y) && !place_free(x,y+12) && place_free(x-12,y) && place_free(x,y-12)){//baixo
direction=choose(90,180,270)
}else
if(!place_free(x+12,y) && place_free(x,y+12) && place_free(x-12,y) && place_free(x,y-12)){//direita
direction=choose(0,90,180)
}else
if(place_free(x+12,y) && place_free(x,y+12) && place_free(x-12,y) && !place_free(x,y-12)){//cima
direction=choose(0,180,270)
}else
//checa em 2
if(!place_free(x+12,y) && !place_free(x,y+12) && place_free(x-12,y) && place_free(x,y-12)){//
direction=choose(90,180)
}else
if(!place_free(x+12,y) && place_free(x,y+12) && place_free(x-12,y) && !place_free(x,y-12)){//
direction=choose(180,270)
}else
if(place_free(x+12,y) && !place_free(x,y+12) && !place_free(x-12,y) && place_free(x,y-12)){//
direction=choose(0,90)
}else
if(place_free(x+12,y) && place_free(x,y+12) && !place_free(x-12,y) && !place_free(x,y-12)){//
direction=choose(0,270)
}else
if(!place_free(x+12,y) && place_free(x,y+12) && !place_free(x-12,y) && place_free(x,y-12)){// -
direction=choose(90,270)
}else
if(place_free(x+12,y) && !place_free(x,y+12) && place_free(x-12,y) && !place_free(x,y-12)){// |
direction=choose(0,180)}
}else{direction=direction speed=2}
}else
if(distance_to_object(obj_player)<64){
if(place_snapped(16,16)){speed=choose(1,0)
if(object0.x<x && place_free(x-12,y)){direction=180}
if(object0.y<y && place_free(x,y-12)){direction=90}
if(object0.x>x && place_free(x+12,y)){direction=0}
if(object0.y>y && place_free(x,y+12)){direction=270}}
}
if(direction=180) {image_index=2}
if(direction=270) {image_index=1}
if(direction=0) {image_index=0}
if(direction=90) {image_index=3}

basicamente ele faz a checagem de distancia do player em 64, se maior ele vai por direções, EX: se ele está para a direita e colide com uma parede(solido) ele escolhe entre esquerda, pra cima e pra baixo e assim vai..
se menor que 64 ele faz a checagem de se o player está a direita, esquerda, cima ou baixo, e execulta uma direção relativa a posição player EX: se o player estiver a cima dele, a direção vai ser 90.

e por ultimo, o basico do basico, ele checa a direção e execulta uma imagem referente a ela.
isso é tudo, credito: eu mesmo (isaque) ou Onix Entretenimento.

qualquer duvida/erro posta aí que vou fazer o maximo para te ajudar Rolling Eyes

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por PlayExdi em Seg 15 Abr 2013, 12:22

Muito bem explicado to começando a aprender os codigos de programação agradeço cheers

PlayExdi

Número de Mensagens : 28
Data de inscrição : 13/01/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.playexdi.com.br

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Isaque Onix em Seg 15 Abr 2013, 12:48

hehe precisando de qualquer ajuda posta ae, estamos ai para ajudar!!!

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por FelipeSSama em Ter 30 Abr 2013, 14:57

como eu faço pra usar A,S,W,D ao invez de up,down,left,right ?

FelipeSSama

Número de Mensagens : 7
Data de inscrição : 29/04/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Zero. em Ter 30 Abr 2013, 15:36

Use ord('Letra') , é com o ' msm
tipo no lugar de keyboard_check(vk_right) , vou substituir pela letra "D". Então ficaria keyboard_check(ord('D')).

Isso serve pra todas as letra ;D

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Isaque Onix em Ter 30 Abr 2013, 15:53

ord('LETRA AQUI')
[edit]
resposta rapida em Flyaway hehe

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por rickelme.dias em Qua 01 Maio 2013, 18:25

Muito booom seu tutorial,perfeito, entendi tudo Very Happy vlw Very Happy

rickelme.dias

Número de Mensagens : 230
Idade : 16
Data de inscrição : 07/02/2013
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://rickelmegt.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Isaque Onix em Qua 01 Maio 2013, 18:39

flw, bom ver que meu tuto ta ajudando alguem ;) precisando...

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por ~Cy em Qua 01 Maio 2013, 18:53

Muito simples e fácil de aprender . Já estou até usando em meu projeto de rpg -sqn u.u

~Cy

Número de Mensagens : 3
Idade : 18
Data de inscrição : 01/05/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://arenarpgmaker.eclipserpg.com/forum

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Isaque Onix em Sex 24 Maio 2013, 15:15

~Cy escreveu:Muito simples e fácil de aprender . Já estou até usando em meu projeto de rpg -sqn u.u

isso aí vai de vc, não posso obriga-lo a usar e nem impedi-lo

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [tutorial basico] Criando um jogo RPG

Mensagem por Conteúdo patrocinado Hoje à(s) 03:45


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum