Entrar
Últimos assuntos
» Servidor de Discord do fórum?por Super Games Ontem à(s) 01:27
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» 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
» 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
[Resolvido]Draw desenha sobre um obj mas não sobre o outro
+3
moisesBR
un00brn
Ufrarion
7 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Pelo que entendi das imagens, você põe o mouse sobre o amuleto e dá tudo certo, mas ao por o mouse sobre o elmo, o escudo fica sobre a descrição. É realmente um problema de depth - a depth do elmo é maior que a do escudo. Não, calma. Não é exatamente a depth. É a ordem dos eventos.
Primeiro acontece o draw_event do elmo, depois do escudo, depois do amuleto. Aí, se você põe o mouse no amuleto, os outros objetos já foram desenhados e não ficam por cima da descrição dele.
Quando põe o mouse por cima do elmo, o draw_event do escudo ainda não aconteceu, o escudo ainda não foi desenhado, naquele step. Aí aparece a descrição, sem nada embaixo nem em cima (mas não na tela. Ainda não). Aí, vem o draw do escudo, que é só carimbar a sprite na tela. E o programa vai e carimba a sprite na tela, por cima de tudo.
DEVE ser isso.
Solução: Em algum evento (pode ser o draw, mas eu sugiro algum step), verifique se o mouse está sobre o objeto. Se estiver, a depth deve ser uma unidade menor que o normal, de outra forma, fica no valor normal (tipo -1 e 0).
Primeiro acontece o draw_event do elmo, depois do escudo, depois do amuleto. Aí, se você põe o mouse no amuleto, os outros objetos já foram desenhados e não ficam por cima da descrição dele.
Quando põe o mouse por cima do elmo, o draw_event do escudo ainda não aconteceu, o escudo ainda não foi desenhado, naquele step. Aí aparece a descrição, sem nada embaixo nem em cima (mas não na tela. Ainda não). Aí, vem o draw do escudo, que é só carimbar a sprite na tela. E o programa vai e carimba a sprite na tela, por cima de tudo.
DEVE ser isso.
Solução: Em algum evento (pode ser o draw, mas eu sugiro algum step), verifique se o mouse está sobre o objeto. Se estiver, a depth deve ser uma unidade menor que o normal, de outra forma, fica no valor normal (tipo -1 e 0).
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Eu fiz um teste assim:
https://docs.google.com/open?id=0B3LC7hHm2MU6c2VTSVNTS212R00
- Código:
if position_meeting(mouse_x,mouse_y,self) and not mouse_check_button(mb_left)
{
depth=-9999999999
//Fundo da descrição
draw_set_alpha(0.5)
draw_set_color(c_black)
draw_rectangle(x+32,y+32,x+(string_width(descricao))+42,y+(string_height(descricao))+42,0)
//Borda e descrição
draw_set_alpha(1)
draw_set_color(c_white)
draw_set_font(font_inv)
draw_text(x+37,y+37,descricao)
draw_rectangle(x+32,y+32,x+(string_width(descricao))+42,y+(string_height(descricao))+42,1)
}
else {depth=-999}
draw_sprite(sprite_index,image_index,x,y)
https://docs.google.com/open?id=0B3LC7hHm2MU6c2VTSVNTS212R00
Ufrarion- Data de inscrição : 06/06/2010
Reputação : 3
Número de Mensagens : 222
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
AGORA você mudou o draw_sprite pro final... não faça isso.
Eu sei, a impressão que dá é que, se não fizer isso, a sprite vai ser desenhada numa depth de -999 e o resto do código em -9999999999. Não é bem assim, a depth não muda DURANTE o draw_event (pra ser sincero, eu não sei QUANDO ela muda, suponho que seja entre o end_step e o draw).
O que vai acontecer se você definir a depth no draw_event é que isso só vai ter efeito no próximo step. Independente da posição, no código, da função draw_sprite.
Aí você diz "ah, mas então eu vou passar um step inteiro com o mouse sobre a figura e MANTENDO o bug?" Sim, vai sim, e só quem souber que o bug existe é que vai perceber. Um step não é exatamente uma eternidade, se você não estiver procurando bugs, não vai notar.
Claro que eu posso estar errado e o bug não ter nada a ver com isso. Vou tentar baixar sua engine, mas se conseguir, vai ser à noite (e, ainda estamos no começo da manhã, então vai demorar um pouco...).
Eu sei, a impressão que dá é que, se não fizer isso, a sprite vai ser desenhada numa depth de -999 e o resto do código em -9999999999. Não é bem assim, a depth não muda DURANTE o draw_event (pra ser sincero, eu não sei QUANDO ela muda, suponho que seja entre o end_step e o draw).
O que vai acontecer se você definir a depth no draw_event é que isso só vai ter efeito no próximo step. Independente da posição, no código, da função draw_sprite.
Aí você diz "ah, mas então eu vou passar um step inteiro com o mouse sobre a figura e MANTENDO o bug?" Sim, vai sim, e só quem souber que o bug existe é que vai perceber. Um step não é exatamente uma eternidade, se você não estiver procurando bugs, não vai notar.
Claro que eu posso estar errado e o bug não ter nada a ver com isso. Vou tentar baixar sua engine, mas se conseguir, vai ser à noite (e, ainda estamos no começo da manhã, então vai demorar um pouco...).
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Seu principal problema é que os próprios itens estão desenhando as descrições.
Quando se pensa em HUD (informações para o jogador) é obrigatório criar um objeto separado com o depth mais negativo do jogo assim ele desenhará por cima de tudo.
Então, faça outro objeto para as descrições.
Não um pra cada mas apenas um para todos que vai identificar em qual o mouse esta e desenhar sua descrição.
Quando se pensa em HUD (informações para o jogador) é obrigatório criar um objeto separado com o depth mais negativo do jogo assim ele desenhará por cima de tudo.
Então, faça outro objeto para as descrições.
Não um pra cada mas apenas um para todos que vai identificar em qual o mouse esta e desenhar sua descrição.
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Eu baixei também e até me assustei! Não me admira não achar o bug, apesar de ter ficado legal a hud, acho que se vc usasse apenas um ou dois objet/sprite pra representa-las, não precisaria de tantos codes para fazer desenhos! Tal como o cabeção disse.
Ps: como se ativa a hud?
Ps: como se ativa a hud?
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
MODERADORES, DELETEM ESSE TOPICO, DEU ALGO ERRADO QUE FOI 2 VEZES O MEU POST!!!!!!
Última edição por theguitarmester em Seg 27 Ago 2012, 14:12, editado 1 vez(es)
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
aperte X para ativar e C para desativar.moisesBR escreveu:Ps: como se ativa a hud?
-----------------
Estou Tentando arrumar a Engine...
Está meio Que dando Certo.
---------------
Problema 80% Resolvido.
Descrição em Cima de todos, só falta fazer descrição sair(ocasionado pelo novo modo).
Última edição por theguitarmester em Ter 21 Ago 2012, 12:10, editado 2 vez(es)
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Valeu t.
Só pra constar:
Tava olhando aqui...(não mexi em nada ainda, to tentando entender ainda) vc conseguiu de algum modo, passar o problema pras botas e só dá problema nelas!
Só pra constar:
Tava olhando aqui...(não mexi em nada ainda, to tentando entender ainda) vc conseguiu de algum modo, passar o problema pras botas e só dá problema nelas!
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Engine Completa!
e você não Precisa Mudar Nenhum código.
ENGINE
http://www.4shared.com/file/r4xwnPN5/Inv__2__Editado_por_GuitarMest.html
O Quê Havia Acontecido:
Você estava criando a descrição no mesmo objeto icone(poderia até fazer assim, só que seria pior), e com isto estava criando a Descrição com mesmo depth que os outros objetos, e daí que o modo que o game maker arruma os Depths seria +ou- assim(modo meio fantasiaco):
NA FRENTE
OBJETO:depth -1000
OBJETO:depth -500 //o com mais depth fica atrás
OBJETO:depth -250
OBJETO:depth -250 //mas porque este fica atrás do com Depth Igual? é, se ele for criado 1°, ele ficará atrás(se tiver o ID menor).
A TRÁS
e daí os objetos com ids menor, ficavam com a descrição atrás.
+ explicações na GMK.
e você não Precisa Mudar Nenhum código.
ENGINE
http://www.4shared.com/file/r4xwnPN5/Inv__2__Editado_por_GuitarMest.html
O Quê Havia Acontecido:
Você estava criando a descrição no mesmo objeto icone(poderia até fazer assim, só que seria pior), e com isto estava criando a Descrição com mesmo depth que os outros objetos, e daí que o modo que o game maker arruma os Depths seria +ou- assim(modo meio fantasiaco):
NA FRENTE
OBJETO:depth -1000
OBJETO:depth -500 //o com mais depth fica atrás
OBJETO:depth -250
OBJETO:depth -250 //mas porque este fica atrás do com Depth Igual? é, se ele for criado 1°, ele ficará atrás(se tiver o ID menor).
A TRÁS
e daí os objetos com ids menor, ficavam com a descrição atrás.
+ explicações na GMK.
Re: [Resolvido]Draw desenha sobre um obj mas não sobre o outro
Ata agora entendi esse modo de fazer e seu exemplo funcionou perfeitamente theguitarmester, vlw a todos!
Ufrarion- Data de inscrição : 06/06/2010
Reputação : 3
Número de Mensagens : 222
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [Resolvido][Pergunta sobre Draw]Colisões com a parede
» [Resolvido]Dúvida sobre Draw, desenhar um círculo
» Duvida sobre for e Draw
» [Resolvido] - Dois inimigos um atraz do outro e quando encontra o jogador ele fica batendo um no outro
» [Resolvido]draw primitive e draw vertex...como usar?
» [Resolvido]Dúvida sobre Draw, desenhar um círculo
» Duvida sobre for e Draw
» [Resolvido] - Dois inimigos um atraz do outro e quando encontra o jogador ele fica batendo um no outro
» [Resolvido]draw primitive e draw vertex...como usar?
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
|
|