brdev
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Tutorial - Criando um menu basico

2 participantes

Ir para baixo

Tutorial - Criando um menu basico Empty Tutorial - Criando um menu basico

Mensagem  Hanzo Sex Jul 22, 2011 9:00 pm

Nesta aula vamos fazer um menu simples movido por setas do teclado. Você pode baixa os resources e incluindo o codigo de fonte no link a baixo.

http://www.4shared.com/file/iPcqXcXH/menu.html

vamos precisa de uma imagem de fundo. eu ripei a tela de titulo do shinobi 3 vou usar ela neste exemplo. vamos precisa de um struct do tipo BMAP.

a sintaxe BMAP* nome = nomedoarquivo

BMAP* menu = "fundo.pcx";

lembrando que vamos declara antes da função main se não vai dar um erro.

para exibir na tela vamos precisa de panel, ou seja um painel
a sintaxe é PANEL* nome = {}.

PANEL* Menu =
{
bmap = menu;
flags = show;
}

no bmap é só coloca o nome do bmap que contem a imagem.
flags, show serve para mostra na tela o bmap.

Seu codigo deve está assim.:

BMAP* menu = "fundo.pcx";

int main()
{
//configuração da tela.
screen_size.x = 640;
screen_size.y = 480;

//fundo para tela.
PANEL* Menu =
{
bmap = menu;
flags = show;
}
}

Agora vamos coloca uma musica no menu. a musica devera fica se repetido quando acaba. para isso vamos precisa da função media_loop. para usa este metodo vamos precisa criar um objeto.

a sintaxe media_loop(nomedoarquivo, target, volume)

var musica
musica = media_loop("Shinobi.mid",NULL,100);

Pronto temos que criar as opções para menu. vamos criar então Novo Jogo e Opções.
Vamos usar o TEXT* pq o metodo draw_text não tem como troca a cor ou usa o alpha em mais de um texto.

TEXT* novojogo =
{
layer = 1;
pos_x = 90;
pos_y = 310;
font = "Arial#20";
alpha = 100;
string = "Novo Jogo";
flags = transparente, show;
}

TEXT* opcoes =
{
layer = 1;
pos_x = 90;
pos_y = 340;
font = "Arial#20";
alpha = 50;
string = "Opcoes";
flags = transparent, show;
}

Agora temos nossos textos, note que o alpha do opcoes está como 50% isso pq quando iniciamos o programa vai dar impressão que o novo jogo está selecionado.

no layer escolhemos o numero do layer. no nosso caso foi para primeira camada se vc não define o layer o texto não será exibido na tela.

pos_x e pos_y é para posiciona na tela o texto.

em font escolhemos a fonte e # depois do nome da fonte seria o tamanho da letra para 20.

string é para defini o texto que será exibido na tela.

em flags temos o transparent ele permiti ativa o efeito de tranparencia no texto e show mostra o texto na tela.

agora vamos defini as teclas das setas vamos precisa do laço while e dois if e mais o wait.

while(1)
{
// seta para cima
if (key_cuu)
{
novojogo.alpha = 100;
opcoes.alpha = 50;
}

// seta para baixo
if (key_cud)
{
novojogo.alpha = 50;
opcoes.alpha = 100;
}
wait(1);
}

Pronto seu codigo final deve está assim.:

Spoiler:
Rode o seu game e veja o menu movido por setas.

Tutorial - Criando um menu basico Menu10

fim do tutorial.
Hanzo
Hanzo
Admin

Mensagens : 25
Reputação : -1
Data de inscrição : 16/07/2011
Idade : 32
Localização : Rio de Janeiro

https://brdev.directorioforuns.com

Ir para o topo Ir para baixo

Tutorial - Criando um menu basico Empty Imagem

Mensagem  Dbr Sáb Jul 23, 2011 11:11 am

Shinobi, lembro mto bem desse game xD ...

Menuzim simples.. só usar os cod de formatação q melhora mais ainda ;D

Nice tut

Dbr
Novato
Novato

Mensagens : 4
Reputação : 0
Data de inscrição : 19/07/2011

Ir para o topo Ir para baixo

Tutorial - Criando um menu basico Empty Re: Tutorial - Criando um menu basico

Mensagem  Hanzo Ter Jul 26, 2011 9:00 pm

vlw... é em breve vou fazer um em 3d... uma forma mais avançada...
Hanzo
Hanzo
Admin

Mensagens : 25
Reputação : -1
Data de inscrição : 16/07/2011
Idade : 32
Localização : Rio de Janeiro

https://brdev.directorioforuns.com

Ir para o topo Ir para baixo

Tutorial - Criando um menu basico Empty Re: Tutorial - Criando um menu basico

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos