Conectar-se
Quem está conectado
24 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 24 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Criando um inventório

em Ter 24 Maio 2011, 18:11
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:

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:

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!
avatar
Data de inscrição : 13/08/2010
Número de Mensagens : 390
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://rockstarfamilies.blogspot.com/

Re: Criando um inventório

em Ter 24 Maio 2011, 18:18
Cara! nunca tinha notado mas esses códigos de arrays seus códigos do Game Maker são bem parecidos com C++! (fiquei feliz até que fim um script parecido com C...), testei aqui e ficou um visual simples mas isso não é nada, parabéns pedro henrique e continue assim viu!
PS.:Até que dá pra passar pro C, talvez eu consiga mas vai ser um trabalho...
FLWs!
== EDIT ==============================================================
fechei a engine e quando abri de novo fiz outra tinha dado um erro por que eu não coloquei as partes finais do código Happy já ia te perturbar por nada
FLWs!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum