Tutorial - Criando um menu basico
2 participantes
Página 1 de 1
Tutorial - Criando um menu basico
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.:
fim do tutorial.
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:
- 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;
}
var musica;
musica = media_loop("Shinobi.mid",NULL,100);
//textos
TEXT* novojogo =
{
layer = 1;
pos_x = 90;
pos_y = 310;
font = "Arial#20";
alpha = 100;
string = "Novo Jogo";
flags = transparent, show;
}
TEXT* opcoes =
{
layer = 1;
pos_x = 90;
pos_y = 340;
font = "Arial#20";
alpha = 50;
string ("Opcoes");
flags = transparent, show;
}
// definição das teclas
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);
}
}
fim do tutorial.
Imagem
Shinobi, lembro mto bem desse game xD ...
Menuzim simples.. só usar os cod de formatação q melhora mais ainda ;D
Nice tut
Menuzim simples.. só usar os cod de formatação q melhora mais ainda ;D
Nice tut
Dbr- Novato
- Mensagens : 4
Reputação : 0
Data de inscrição : 19/07/2011
Re: Tutorial - Criando um menu basico
vlw... é em breve vou fazer um em 3d... uma forma mais avançada...
Tópicos semelhantes
» Tutorial - Criando um menu basico
» Tutorial - Criando O Primeiro Programa
» Tutorial - Criando O Primeiro Programa no 3DSG
» Tutorial - Como Instalar o 3D Game Studio
» Tutorial - Criando O Primeiro Programa
» Tutorial - Criando O Primeiro Programa no 3DSG
» Tutorial - Como Instalar o 3D Game Studio
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos