Entrar
Últimos assuntos
» player não consegue andarpor 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
[Resolvido]repetir ação sem reescrever todo o código?
Página 1 de 1
[Resolvido]repetir ação sem reescrever todo o código?
Depois de ter descoberto como identificar quando o jogador pressionar o ESC na função show_message_ext no Game Maker, me deparei com um problema, primeiro quero deixa-los informados do código que estou usando:
A questão é que eu preciso que quando o case(0), ou seja, quando o ESC for pressionado, repita todo o código, mas de forma que eu não precise reescrever ele no case(0), pois se não iria ficar um ciclo sem fim, por conta do case(0), caso alguém não tenha entendido, vou deixar abaixo uma foto com legenda pra maior entendimento:
- evento press
: - Código:
resposta = show_message_ext("teste bem testado testadinho",0,"obrigado",0);
switch resposta
{
case(0):///esse é o caso de quando aperta ESC
break;
case(1):
break;
case(2):///caso aperte o botão do meio da mensagem, que é o botão obrigatório a apertar
show_message("de nada")
break;
case(3):
break;
}
A questão é que eu preciso que quando o case(0), ou seja, quando o ESC for pressionado, repita todo o código, mas de forma que eu não precise reescrever ele no case(0), pois se não iria ficar um ciclo sem fim, por conta do case(0), caso alguém não tenha entendido, vou deixar abaixo uma foto com legenda pra maior entendimento:
- imagem:
Última edição por Mentos e Coca-cola em Qua 23 maio 2018, 14:47, editado 1 vez(es)
Mentos e Coca-cola- Games Ranking :
Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]repetir ação sem reescrever todo o código?
Você pode usar scripts (na pasta script) pra gerar ações "reutilizáveis".
Isso é o equivalente do GM à funções/procedures do usuário.
Crie um script com o código desejado e nomeie da forma que for conveniente. Depois no evento em que quiser executar essa ação, basta "chamar" o script, ex:
nome_do_script();
Dentro dos parênteses você pode passar argumentos para o script, como valores de variáveis, ex:
Script area_do_retangulo
base = argument0
altura = argument1
area = base * altura
E na hora de chamar o script:
area_do_retangulo(20, 30);
Isso iria executar o script com os valores de 20 e 30 para base e altura, respectivamente, armazenando então o resultado na variável area.
Se preferir pode usar "return" para retornar o valor ao invés de armazenar em variável, ex:
base = argument0
altura = argument1
return base * altura
Você pode chamar scripts dentro de outro script, inclusive o próprio script que está sendo executado (função recursiva).
Isso é o equivalente do GM à funções/procedures do usuário.
Crie um script com o código desejado e nomeie da forma que for conveniente. Depois no evento em que quiser executar essa ação, basta "chamar" o script, ex:
nome_do_script();
Dentro dos parênteses você pode passar argumentos para o script, como valores de variáveis, ex:
Script area_do_retangulo
base = argument0
altura = argument1
area = base * altura
E na hora de chamar o script:
area_do_retangulo(20, 30);
Isso iria executar o script com os valores de 20 e 30 para base e altura, respectivamente, armazenando então o resultado na variável area.
Se preferir pode usar "return" para retornar o valor ao invés de armazenar em variável, ex:
base = argument0
altura = argument1
return base * altura
Você pode chamar scripts dentro de outro script, inclusive o próprio script que está sendo executado (função recursiva).
Convidado- Convidado
Re: [Resolvido]repetir ação sem reescrever todo o código?
Dotted Chaos escreveu:Você pode usar scripts (na pasta script) pra gerar ações "reutilizáveis".
Isso é o equivalente do GM à funções/procedures do usuário.
Crie um script com o código desejado e nomeie da forma que for conveniente. Depois no evento em que quiser executar essa ação, basta "chamar" o script, ex:
nome_do_script();
Dentro dos parênteses você pode passar argumentos para o script, como valores de variáveis, ex:
Script area_do_retangulo
base = argument0
altura = argument1
area = base * altura
E na hora de chamar o script:
area_do_retangulo(20, 30);
Isso iria executar o script com os valores de 20 e 30 para base e altura, respectivamente, armazenando então o resultado na variável area.
Se preferir pode usar "return" para retornar o valor ao invés de armazenar em variável, ex:
base = argument0
altura = argument1
return base * altura
Você pode chamar scripts dentro de outro script, inclusive o próprio script que está sendo executado (função recursiva).
Eu nem havia pensado em utilizar scripts pra fazer isso, mas depois de muito trabalho pra reescrever todos os códigos e decifrar a bagunça que eu tinha feito, eu consegui com base na ideia que você deu, ficou até mais organizado e prático pra quando eu quiser adicionar funções a mais nas escolhas, obrigado mesmo pela ajuda cara.
Mentos e Coca-cola- Games Ranking :
Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido]Repetir codigo sem alarm
» como repetir uma ação?
» como repetir uma ação infinitamente ?????
» Um codigo q vale o tempo todo da room...
» [Resolvido][Duvida] Movimento Todo Pelo Mouse
» como repetir uma ação?
» como repetir uma ação infinitamente ?????
» Um codigo q vale o tempo todo da room...
» [Resolvido][Duvida] Movimento Todo Pelo Mouse
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos