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

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Sistema de Trocar Teclas do jogo...

4 participantes

Ir para baixo

Sistema de Trocar Teclas do jogo... Empty Sistema de Trocar Teclas do jogo...

Mensagem por joorock12 Dom 23 maio 2010, 14:28

Sistema de Trocar Teclas

Todos nos estamos cansados de ver em todos os jogos sistemas de trocar teclas padrões para teclas de nossa preferencia. Hoje eu vou ensinar a vocês como faze - la em seus jogos...

1º Usaremos uns scripts pré definidos para que não precisaremos repetir codigos...
Aqui está Button Control...

2º Ja com seu Game Maker aberto importe o Script Button Control
Script -> Import Script
Sistema de Trocar Teclas do jogo... Tuto-ima1

3º Agora Crie um Objeto Chamado Controle e crie 4 eventos(Create, Step, Game End,Draw)

4ª No Evento Create, Adicione um "Execute Code":Sistema de Trocar Teclas do jogo... Tuto-ima2
Nele escreva o Seguinte codigo
Código:

button_init();//que irá iniciar os scripts Button Control
button_module_load(true,true,true);// carrega os modulos das teclas(botões)
global.cima = 0;// Que será nossa varieval da tecla de subir
global.baixo = 0;//Será a de descer
global.esquerda = 0;//que será a de ir para esquerda
global.direita = 0;//seria a tecla para direita
listacar = " "; //que será usada pra que não possa usar o mesmo botão na mesma ação

texto[0] = "Digite a Tecla que para cima"; // Seram as perguntas para configurar as teclas
texto[1] = "Digite a tecla para Baixo";
texto[2] = "Digite a tecla para esquerda";
texto[3] = "Digite a tecla para direita";
texto[4] = "Aperte Enter para Prosseguir";
modo = 0;// sera o numero de perguntas...mas pra frente veremos melhor a explicação...

5ª: No evento de STEP coloque o seguinte codigo
Código:

if button_check_pressed(bt_any) // que seria a mesma coisa de if keyboard_check_pressed(vk_anykey)
if string_count(" " + string(button_key[1]) + " ",listacar) = 0 // se o botão nao estiver na listacar(lista de caracteres)
if modo !=4 // se a perguntar não for a 4
{
 switch(modo)
 {
 case 0: global.cima    = button_key[1]; break; //Aqui transformamos a o valor da variavel na tecla
 case 1: global.baixo    = button_key[1]; break;
 case 2: global.esquerda = button_key[1]; break;
 case 3: global.direita  = button_key[1]; break;
 }
 listacar += string(button_key[1]) + " "; //atualiza a lista de caracteres
 modo +=1; //coloca mais modos
 exit;
}

if modo = 4 and button_check_pressed(vk_enter)// se as perguntas tiverem chegado a 4 e apertar Enter
{
  ini_open('Controles.ini')//Abre ou Cria o arquivo de configuração dos controles
  ini_write_real('Player 1','cima',global.cima);//Aqui grava no ini a tecla
  ini_write_real('Player 1','baixo',global.baixo);
  ini_write_real('Player 1','esquerda',global.esquerda);
  ini_write_real('Player 1','direita',global.direita);
  button_module_unload(true,false,true);//desliga os modulos das teclas..
  room_goto(room_inicial)//Aqui vai voltar para room inicial
}

6ª: Agora no Evento Game End crie outro Execute Code
Código:

button_module_unload(true,true,true);//aqui desliga totalmente os modulos ao final do jogo

7ª: No evento Draw faremos a parte grafica dos codigos:
Adicione outro Execute Code:
Código:

draw_text(0,36,  "Cima: " + button_get_keyname(global.cima)
              +"#Baixo: " + button_get_keyname(global.baixo)
                +"#Esquerda: " + button_get_keyname(global.esquerda)
              +"#Direita: " + button_get_keyname(global.direita));//aqui Escreveremos as teclas precionadas
draw_text(0,0,text[modo]);//Aqui será escrito as perguntas

Pronto aqui terminamos a edição das teclas agora vamos para a interação com o personagem

Aqui eu criei um personagem simples só para andar...
Adicione no Evento STEP o seguinte codigo
Código:

if keyboard_check(global.esquerda){ x -= 5;}//ou apenas substitua suas teclas pelas variaveis global.esquerda, global.direita etc..
if keyboard_check(global.cima) {y -= 5;}
if keyboard_check(global.direita) {x +=5;}
if keyboard_check(global.baixo) {y +=5;}
Agora no seu Menu tera que ter um botão de Jogar certo?
Crie o e coloque no evento Create o seguite codigo:
Código:

if !file_exists('Controles.ini')//caso não tenha nenhum arquivo de configuração ele cria
{
 ini_open('Controles.ini');
 ini_section_exists('Player 1');
 ini_key_exists('Player 1','cima');
 ini_key_exists('Player 1','baixo');
 ini_key_exists('Player 1','esquerda');
 ini_key_exists('Player 1','direita');
 ini_write_real('Player 1','cima',38);//o 38 é numero que equivale a tecla VK_UP
 ini_write_real('Player 1','baixo',40);
 ini_write_real('Player 1','esquerda',37);
 ini_write_real('Player 1','direita',39);
 ini_close();
}
ini_open('Controles.ini');
global.cima = ini_read_real('Player 1','cima','Up');//aqui carregaremos as Configurações salvas
global.baixo = ini_read_real('Player 1','baixo','Down');
global.esquerda = ini_read_real('Player 1','esquerda','Left');
global.direita = ini_read_real('Player 1','direita','Right');
ini_close();
Agora crie uma nele o Evento de Clicar se desejar e bote para ir na room do jogo...
Crie outro botão que vá para a Room de editar os controles...
Após crie as Três Rooms
room_inicial Onde será o menu
room_controles onde será a de configuração
room_jogar que será o jogo em si
Na Room Inicial bote os Botões, Jogar e Configurar
Na Room Controles bote o Objeto Controle
Na Room jogar bote o Player...
Pronto fizemos um sistema de configuração de teclas.. Espero que tenham gostado e te ajudado...
Vou botar o que fiz aqui para que não tenham nenhuma duvida:
Sistema de controle.gmk
Obrigado...
Ass.Ownh
joorock12
joorock12

Games Ranking : Nota E

Notas recebidas : E
Data de inscrição : 26/01/2010
Reputação : 0
Número de Mensagens : 154
Prêmios : Sistema de Trocar Teclas do jogo... Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sistema de Trocar Teclas do jogo... Empty Re: Sistema de Trocar Teclas do jogo...

Mensagem por Nicolas Dom 23 maio 2010, 14:30

Hey Bom Tuto Cara Very Happy
Vlw Very Happy
Nicolas
Nicolas

Data de inscrição : 23/02/2010
Reputação : 4
Número de Mensagens : 492
Prêmios : Sistema de Trocar Teclas do jogo... Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sistema de Trocar Teclas do jogo... Empty Re: Sistema de Trocar Teclas do jogo...

Mensagem por SuperHacker Sex 04 Jun 2010, 14:42

gracias man.
vc pode fazer um sobre
como mudar idiomas e músicas?
SuperHacker
SuperHacker

Data de inscrição : 19/05/2010
Reputação : 0
Número de Mensagens : 63
Prêmios : Sistema de Trocar Teclas do jogo... Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sistema de Trocar Teclas do jogo... Empty Re: Sistema de Trocar Teclas do jogo...

Mensagem por afonso_silva Qui 17 Jun 2010, 16:10

tá fixe o tuto. parabens
afonso_silva
afonso_silva

Data de inscrição : 29/05/2010
Reputação : 0
Número de Mensagens : 147
Prêmios : Sistema de Trocar Teclas do jogo... Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Sistema de Trocar Teclas do jogo... Empty Re: Sistema de Trocar Teclas do jogo...

Mensagem por 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