Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Problema com transição de room

Qua Mai 29, 2019 8:05 pm

Boa noite, até ontem minha transição de room estava funcionando normalmente. Dai hj, quando vou testar novamente, simplesmente não acontece nada.
Testei algumas vezes e percebi que o problema consiste aqui:
Essa é a parte em que se inicia a transição. O evento abaixo esta no Step.
if (global.permitir_menu)
{
    if (keyboard_check_pressed(ord("F")))
    {
        global.spr_jogador = obj_jogador.sprite_index;
        global.targetroom = room;
        global.posx_jogador = obj_jogador.x;
        global.posy_jogador = obj_jogador.y;
        global.contador_batalha = false;
        global.andarnormal = false;
        with (obj_jogador)
        {
            image_speed = 0;
        }
        desenhar_trans = true;
        global.permitir_menu = false;
    }
}


Dai aqui que vem o problema. Mesmo colocando a variável como true, não inicia-se os códigos dentro dela, até coloquei um show_debug_message pra ver se estava executando os códigos, mas não estão. O evento abaixo está no Draw.
if (desenhar_trans)
{
    show_debug_message("oi");
    depth = -99;
    alpha_menu += .05;
    if (alpha_menu > 1)
    {
        alpha_menu = 1;
        with (obj_jogador)
        {
            sprite_index = spr_transparente;
        }
        if (room == Menu)
        {
            ligou_movi = false;
            with (obj_jogador)
            {
                sprite_index = global.spr_jogador;
            }
            room_goto(global.targetroom);
        } else
        {
            room_goto(global.room_menu);
        }
        obj_jogador.x = global.posx_jogador;
        obj_jogador.y = global.posy_jogador;
        desenhar_trans2 = true;
        desenhar_trans = false;
    }
    draw_set_colour(c_black);
    draw_set_alpha(alpha_menu);
    draw_rectangle(view_xview[0], view_yview[0], view_xview[0] + view_wview[0], view_yview[0] + view_hview[0], false)
    draw_set_alpha(1);
}


O que pode estar impossibilitando que se iniciem os códigos, mesmo a variável estando como true?

Tags:
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 513
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 971

Contato:

Re: Problema com transição de room

Qui Mai 30, 2019 10:20 am

O "Oi" não está aparecendo no console? E dentro desse código ao pressionar a tecla F, está ocorrendo normalmente? Tem algum código no End Step?

Veja se a opção Applies To: não foi modificada nos eventos:

Imagem

Fiz um mini-tutorial sobre transição de rooms, ia postar no fim de semana, mas como tua dúvida apareceu resolvi antecipar. Dá uma olhada caso não consiga resolver ou apenas de curiosidade:

1 Imagem, 1 Tutorial #002: Transição de rooms (Fade-In-Out)

Abraços o/
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Qui Mai 30, 2019 12:07 pm

Alex FC escreveu:
O "Oi" não está aparecendo no console? E dentro desse código ao pressionar a tecla F, está ocorrendo normalmente? Tem algum código no End Step?

Veja se a opção Applies To: não foi modificada nos eventos:

Imagem

Fiz um mini-tutorial sobre transição de rooms, ia postar no fim de semana, mas como tua dúvida apareceu resolvi antecipar. Dá uma olhada caso não consiga resolver ou apenas de curiosidade:

1 Imagem, 1 Tutorial #002: Transição de rooms (Fade-In-Out)

Abraços o/


Sim, o "oi" não está aparecendo, já que coloquei ele ali só pra ver se rodava o código dentro do If.
Após eu apertar a tecla F, simplesmente trava. O Personagem não mexe mais, não funciona nada mais. Simplesmente não sei o que aconteceu kk
Todos os eventos estão em "Self". E não há End step.
Imagem
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 513
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 971

Contato:

Re: Problema com transição de room

Qui Mai 30, 2019 12:31 pm

Executa o jogo com F6 (Debug).

Imagem

Clica no ícone de pausa assim que travar. Depois vá teclando F11 (Step In) e conferindo os valores das variáveis na em Local Variables.

Senão só vendo o código todo, pois só pelo que postou devia funcionar.
1
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Qui Mai 30, 2019 6:38 pm

Então, pelo que entendi, tá dizendo que a variável "desenhar_trans" está como true, certo?
Imagem
Ou seja, deveria executar o código abaixo, mas não está executando.
if (desenhar_trans)
{
    show_debug_message("oi");
    depth = -99;
    alpha_menu += .05;
    if (alpha_menu > 1)
    {
        alpha_menu = 1;
        with (obj_jogador)
        {
            sprite_index = spr_transparente;
        }
        if (room == Menu)
        {
            ligou_movi = false;
            with (obj_jogador)
            {
                sprite_index = global.spr_jogador;
            }
            room_goto(global.targetroom);
        } else
        {
            room_goto(global.room_menu);
        }
        obj_jogador.x = global.posx_jogador;
        obj_jogador.y = global.posy_jogador;
        desenhar_trans2 = true;
        desenhar_trans = false;
    }
    draw_set_colour(c_black);
    draw_set_alpha(alpha_menu);
    draw_rectangle(view_xview[0], view_yview[0], view_xview[0] + view_wview[0], view_yview[0] + view_hview[0], false)
    draw_set_alpha(1);
}
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 513
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 971

Contato:

Re: Problema com transição de room

Qui Mai 30, 2019 7:15 pm

Não basta só olhar se ficou 1 (true). Vá teclando F11 e acompanhando o código. Ok, já vimos que fica 1 (true). E depois por onde o código percorre? Ele chega no evento Draw?? Para antes? E se parou, parou onde? É pra isso que serve o debug.

Pode ser também um bug do GMS1. Copie tudo para um txt, delete o objeto e coloque os códigos novamente (Sem duplicar).
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Qui Mai 30, 2019 9:34 pm

@Alex FC
Tentei utilizar o teu tutorial de troca de rooms, mas acontece a mesma coisa: simplesmente trava na hora que iria iniciar a transição. Eu fuço em tudo e tento ver o por quê de não trocar de room mais, mas não acho nada.
1
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 513
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 971

Contato:

Re: Problema com transição de room

Sex Mai 31, 2019 9:22 am

Muito estranho. Pode ser algum problema na sua máquina ou nos componentes do GM (DirectX ou DotNetFX 3.5). De toda forma faça um teste em outro PC ou veja se alguma atualização do Windows tenha falhado e faça uma restauração para um data onde estava funcionando.

Antes faça uma verificação no código se não há nenhuma ocorrência do código room = nome_da_room (Com apenas um =)tanto em condicionais como para mudar de room, isso costuma fazer o game travar ou ficar muito lento.
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Sex Mai 31, 2019 12:11 pm

Alex FC escreveu:
Muito estranho. Pode ser algum problema na sua máquina ou nos componentes do GM (DirectX ou DotNetFX 3.5). De toda forma faça um teste em outro PC ou veja se alguma atualização do Windows tenha falhado e faça uma restauração para um data onde estava funcionando.

Antes faça uma verificação no código se não há nenhuma ocorrência do código room = nome_da_room (Com apenas um =)tanto em condicionais como para mudar de room, isso costuma fazer o game travar ou ficar muito lento.

Hoje a noite vou tentar novamente, mas provavelmente terei que refazer a transição kkk
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Sex Mai 31, 2019 9:47 pm

É, refiz todo o código mas não deu em nada. Exclui o objeto e recriei ele, pois achei que poderia ser um bug nele, mas nada mudou.
O interessante é que a variável que iniciaria a transição está como "true", mas o código dentro do If não é executado e não sei o por quê disso.
Posto novamente o código:
Step event
if (global.permitir_menu)
{
    if (keyboard_check_pressed(ord("F")))
    {
        global.spr_jogador = obj_jogador.sprite_index;
        global.targetroom = room;
        global.posx_jogador = obj_jogador.x;
        global.posy_jogador = obj_jogador.y;
        global.contador_batalha = false;
        global.andarnormal = false;
        with (obj_jogador)
        {
            image_speed = 0;
        }
        iniciar_trans = true;  // variável que inicia a transição
        alarm0 = 11;
        alarm[0] = .2 * room_speed;
    }
}

Draw event
if (iniciar_trans)  // no modo debug, a variável está como true, porém o código não é executado.
{
    alpha_menu += .05;
    draw_set_alpha(alpha_menu)
    draw_set_color(c_black);
    draw_rectangle(view_xview[0], view_yview[0], view_xview[0] + view_wview[0], view_yview[0] + view_hview[0], false)
    draw_set_alpha(1);
    if (alpha_menu >= 1)
    {
        room_goto(Menu);
        desenhar_trans2 = true;
        iniciar_trans = false;
    }
}
 
Avatar do usuário
LLGD
Membro
Membro
Mensagens: 22
Registrado em: Seg Nov 12, 2018 2:01 pm
Karma: 29

Re: Problema com transição de room

Seg Jun 03, 2019 8:53 am

Você está usando o Game Maker 1.4 né? Verifica por favor na sua sala, clica no botão de "Instance Ordering" na barra superior ao lado do botão "?" ajuda, e veja se tem algum objeto escrito como <undefined>.

Verifica se o mesmo objeto não existe na outra sala. Exemplo, você vai da sala 1 para a sala 2 e na sala 2 tem o objeto de transição.

EDIT

Notei que no draw você está usando:
desenhar_trans2 = true;
desenhar_trans = false;

mas desenhar_trans não é global? Então deveria ser: global.desenhar_trans :P
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Seg Jun 03, 2019 7:02 pm

LLGD escreveu:
Você está usando o Game Maker 1.4 né? Verifica por favor na sua sala, clica no botão de "Instance Ordering" na barra superior ao lado do botão "?" ajuda, e veja se tem algum objeto escrito como <undefined>.

Verifica se o mesmo objeto não existe na outra sala. Exemplo, você vai da sala 1 para a sala 2 e na sala 2 tem o objeto de transição.

EDIT

Notei que no draw você está usando:
desenhar_trans2 = true;
desenhar_trans = false;

mas desenhar_trans não é global? Então deveria ser: global.desenhar_trans :P

Essa variável não é global, pq ela só é usada dentro de um objeto, que no caso é o objeto do menu do jogo. Nesse objeto eu faço a transição entre rooms, bem como inicio o próprio menu nele mesmo.
 
Avatar do usuário
LLGD
Membro
Membro
Mensagens: 22
Registrado em: Seg Nov 12, 2018 2:01 pm
Karma: 29

Re: Problema com transição de room  Tópico resolvido

Ter Jun 04, 2019 2:21 pm

A ta, desculpe não me atentei. Percebi que o objeto está invisível. Quando um objeto não está visível, o Draw também não aparece.

Outra coisa que notei é que você está usando view, e TALVEZ esteja usando algum código para desativar as instancias fora da view, se o seu objeto está sendo criado no 0,0 e você usa o código para desativas as instancias fora da view, pode ser por isso que não executa. Você poderia mandar pra gente um novo GMX apenas com esses objetos e funções para eu poder tentar analisar mais a fundo o que está acontecendo. :ué:
 
Avatar do usuário
DarlesLSF
Membro
Membro
Autor
Mensagens: 107
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 219

Re: Problema com transição de room

Seg Jun 10, 2019 8:24 pm

LLGD escreveu:
A ta, desculpe não me atentei. Percebi que o objeto está invisível. Quando um objeto não está visível, o Draw também não aparece.

Outra coisa que notei é que você está usando view, e TALVEZ esteja usando algum código para desativar as instancias fora da view, se o seu objeto está sendo criado no 0,0 e você usa o código para desativas as instancias fora da view, pode ser por isso que não executa. Você poderia mandar pra gente um novo GMX apenas com esses objetos e funções para eu poder tentar analisar mais a fundo o que está acontecendo. :ué:

Cara, eu só coloquei o objeto visível e tudo voltou a funcionar normalmente. Obrigado pela ajuda kkkk
1
 
Avatar do usuário
LLGD
Membro
Membro
Mensagens: 22
Registrado em: Seg Nov 12, 2018 2:01 pm
Karma: 29

Re: Problema com transição de room

Qui Jun 13, 2019 3:16 pm

DarlesLSF escreveu:
Cara, eu só coloquei o objeto visível e tudo voltou a funcionar normalmente. Obrigado pela ajuda kkkk


Que bom! kkkk De nada! :blz: