Conectar-se

Esqueci minha senha

Últimos assuntos
» Nota de esclarecimento - GMBR voltou!
Ontem à(s) 20:33 por Willy

» Regras do Fórum
Ontem à(s) 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz


Sistema de Trocar Teclas do jogo...

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Sistema de Trocar Teclas do jogo...

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


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

4ª No Evento Create, Adicione um "Execute Code":
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
avatar
joorock12

Ranking : Nota E
Notas recebidas : E
Data de inscrição : 26/01/2010
Número de Mensagens : 154
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema de Trocar Teclas do jogo...

Mensagem por Nicolas em Dom 23 Maio 2010, 14:30

Hey Bom Tuto Cara Very Happy
Vlw Very Happy
avatar
Nicolas

Data de inscrição : 23/02/2010
Número de Mensagens : 492
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema de Trocar Teclas do jogo...

Mensagem por SuperHacker em Sex 04 Jun 2010, 14:42

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

Data de inscrição : 19/05/2010
Número de Mensagens : 63
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema de Trocar Teclas do jogo...

Mensagem por afonso_silva em Qui 17 Jun 2010, 16:10

tá fixe o tuto. parabens
avatar
afonso_silva

Data de inscrição : 29/05/2010
Número de Mensagens : 147
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Sistema de Trocar Teclas do jogo...

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum