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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


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