Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[GEN-RPG] Criando um inventório

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Reações: 0
Mensagens: 110

[GEN-RPG] Criando um inventório

Mensagem por Tutoriais & Aulas » Qui Abr 28, 2016 11:08 pm

Autor original: PedroX
Introdução

Aprenda a fazer um simples inventório (mochila), que servirá de base para você fazer o seu próprio sistema, no seu jogo.
Para este tutorial, você precisa:

- Game Maker (qualquer versão recente)
- Noção básica de arrays e draw.

Preparando os recursos

Você vai precisar das sprites dos itens que o seu inventório vai possuir.
Eu estou usando duas sprites que vem junto com o game maker, somente para teste.
Se você entrar na pasta do game maker, clicar em 'Sprites' e entrar em 'Itens', verá alguns itens que podem ser usados.

Você deve ter em mente que todos os itens devem ter o mesmo tamanho.
Eu estou usando itens de 32x32.

Começando a fazer

Com os sprites criados, deixe eles como estão, não centralize.
Crie um objeto, chame-o como quiser.

Adicione um evento CREATE e adicione o código:

Código: Selecionar todos

mochila[0,0]=5; //numero de itens de energia
mochila[0,1]='Energia'; //nome do item
mochila[0,2]='Carregue sua energia'; //descrição 
mochila[0,3]=spr_energia; //sprite 

mochila[1,0]=6; //numero de itens de vida
mochila[1,1]='Vida'; //nome
mochila[1,2]='Aumente sua vida'; //descrição
mochila[1,3]=spr_item_vida; //sprite para o item

maximo=11; //soma dos itens (5+6)
sx=0; //variavel para detectar o item selecionado
sy=0; //variavel para detectar o item selecionado
Evento Draw:

Código: Selecionar todos

xx=0; yy=0;
for(i=0; i<=1; i+=1)
{
repeat mochila[i,0] {
draw_sprite(mochila[i,3],0,xx,yy)
xx+=32;
if xx>=4*32 {xx=0; yy+=32;
}
inventorio[xx/32+4*yy/32,2]=mochila[i,2]
}
}
sx=floor(mouse_x/32);  
sy=floor(mouse_y/32);
draw_set_color(c_yellow)
draw_rectangle(sx*32,sy*32,(sx+1)*32,(sy+1)*32,1)
draw_set_color(0)
if ((sx <= 4 && sy<floor(maximo/4)) or (sy>0 && sx<(maximo mod 4))) && sy<=floor(maximo/4)
{  
if (sx==0) 
draw_text(mouse_x,mouse_y,inventorio[4*sy+1,2]) 
else 
if (sx>0){
draw_text(mouse_x,mouse_y,inventorio[4*sy+1+sx,2])
}
}
Encerrando, quero dizer que esse tutorial é uma base; que você pode melhorar, adaptar ou refazer. Não vou pedir créditos, mas se você quiser, pode colocar.

Até mais!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes