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
» Colisões não funcionando
por RastaMaan Hoje à(s) 19:49

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

» 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


[Resolvido]-Draw_text sempre por cima... Valeu saim!

3 participantes

Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por moisesBR Dom 26 Ago 2012, 22:47

tenho, crio vários objetos na room e cada um deles ao passar o mouse aparece o texto...
o problema é que cada um desses objetos tem depth=-y, e o texto está ficando atrás tambem!
alguma sugestão?

não adianta pesquisar, não achei

aproveitando...
gostaria de saber se tem como o cursor mostrar esse determinado texto ao invés do objeto.
Assim quem sabe, nesse problema sumisse.

Lembrando que uso sprite no mouse o que facilita muito, né?
codes usados no objeto:
Código:
if instance_position(mouse_x,mouse_y,id)//se o mouse estiver em cima
{
draw_text (x+15, y+0,"Tempo: "+string(tempo))
}



Última edição por moisesBR em Seg 27 Ago 2012, 13:56, editado 2 vez(es)
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! 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
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por saim Seg 27 Ago 2012, 09:00

Crie um outro objeto só pra isso, e dê a ele uma depth menor que -room_height. Ao passar o mouse, defina qual o texto esse objeto deve mostrar e que, de fato, ele deve mostrar o texto.
O bug que vai surgir a partir disso é que você não vai ter um evento pra esse objeto parar de mostrar o texto. Então começam as vertentes da idéia, que dependem do seu jogo. A princípio, eu usaria um parent pra todos os objetos que mostram texto (pode ser o próprio objeto que escreve, pra ficar um objeto só). Aí, se o mouse não estiver em nenhuma child, não pode mostrar o texto
Código:
//pseudocode
SE (o mouse está sobre um child do objeto-mostra-texto){
texto_a_mostrar = objeto-child.texto;
pode_mostrar = true;
}
SENÃO{
pode_mostrar = false;
}

Possível bug: O mouse está sobre 2 objetos, mas só mostra 1 texto. Isso seria um problema?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por moisesBR Seg 27 Ago 2012, 09:45

não exatamente, eu tinha conseguido fazer com que o objeto emitisse o texto quando o mouse passasse em cima, mas como esse e os outros objetos tem o depth iguais, (depth=-y) o que for colocado acima fica sempre atrás.
talvez a ordem de criação na room...
então pra resolver esse problema, ao invés do objeto emitir, o mouse que passa sobre ele mostraria o tal texto referente a esse objeto em particular!
Pra que isso;
monitorar o objeto em questão, no caso seu tempo, life e etc.

Outra coisa que tentei no objeto do mouse mas bugou:
Código:
with(objeto) draw_text (x,y,"Tempo: "+string(tempo))
Apareceu todos no mouse!!!
Código:
with(objeto) draw_text (x+15, y+0,"Tempo: "+string(tempo))
Ao colocar o x+ e x+ apareceream em todos!!!
Código:
draw_text (x+15, y+0,"Tempo: "+string(objeto.tempo))
Ao tentar colocar objeto.tempo não achou o referido objeto!

Não entendi muito bem como usar seu code...
Então sou obrigado colocar meu code aqui(este é o que está no objeto emissor)... Por favor usando as informações deste meu code a seguir, faça-o pra mim.
Código:
if instance_position(mouse_x,mouse_y,id)//code que diz se o mouse está em cima(o mouse, nao o objeto)
{
depth=-10000000000//exagerei kkkkk
draw_text (x+15, y+0,"Cans: "+string(usoCanteiro)+" - Timer: "+string(time)+ " - Tempo: "+string(tempo))
}
Veja como está:[Resolvido]-Draw_text sempre por cima... Valeu saim! Screenshot100
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! 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
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por saim Seg 27 Ago 2012, 10:29

moisesBR escreveu:depth=-10000000000
Não adianta mudar a depth no meio do draw_event. Eu não sei em que momento a alteração da depth tem efeito (acho que é entre o end_step e o draw), mas com certeza, no meio do evento, isso não vale muita coisa.
moisesBR escreveu:talvez a ordem de criação na room...
Não, a depth tem prioridade sobre o número da id na ordem dos desenhos. A ordem de criação da room influencia é no número da id.
moisesBR escreveu:Não entendi muito bem como usar seu code...
Deixa eu tentar explicar melhor, então.
Você cria um objeto. Vamos chamá-lo de obj_info (porque ele mostra as informações dos demais).
Aí, todos os outros objetos que você quer que mostre texto você coloca como child desse obj_info (ou seja, nos objetos, coloca o obj_info como parent).
Feito? Beleza, agora coloque a depth desse obj_info como muito baixa (=-10000000000).
Então você tem um objeto sem código nenhum, sem sprite nenhuma (isso é importante), numa depth baixíssima, que é parent de um monte de outros objetos. Agora, coloque código no draw_event dele.
SE ele estiver sobre alguma instancia do obj_info{
mostra um texto com as informações dessa instância (draw_text(mouse_x, mouse_y, "informação=" + string(instância . informação))).
}
Lembre-se que como os objetos são childs do obj_info, os testes de colisão retornarão verdadeiro para esse objeto. Acho que a função que você precisa é instance_position, porque ela te retorna a id da instância na posição (x, y).
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por moisesBR Seg 27 Ago 2012, 11:50

coloquei o tal obj_info na room, no objeto alvo marquei esse info como parent...
Mas não estou conseguindo fazer com que este se mostre apenas quando o mouse passar e pior, aparece em todos!

Tem como fazer uma engine mesmo simples por favor? essa de info é nova pra mim outra alternativa(ruim) seria um show_menu... testei aqui mas como pretendo colocar um health...

help!

(ainda não consegui calcular o andamento do projeto, e só pretendo postar
quando concluir uma demo mas preciso dessa função)
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! 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
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por saim Seg 27 Ago 2012, 13:14

ok, o código que estou sugerindo, sem pseudocode nem nada é (coloque no draw do obj_info:
Código:
var meu_alvo;
meu_alvo = instance_position(mouse_x, mouse_y, obj_info); // coloca a instância sob o mouse na variável
if (meu_alvo != noone){ //se há alguma instância sob o mouse
   draw_text(mouse_x, mouse_y, "Cans: "+string(meu_alvo . usoCanteiro)+" - Timer: "+string(meu_alvo . time)+ " - Tempo: "+string(meu_alvo . tempo)); //desenha, no mouse, as variáveis da instância
   }
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por moisesBR Seg 27 Ago 2012, 13:50

Obrigado!!!
[Resolvido]-Draw_text sempre por cima... Valeu saim! Screenshot102
Era isso mesmo!
Ei, de onde vc tira isso? Deixa ver... lógica, não?
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! 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
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por theguitarmester Seg 27 Ago 2012, 14:13

peo que vi, é uma Pergunta Parecida Com a De Ufrarion, e que eu consegui resolver do Mesmo(ou Parecido) com que o Saim te Mostrou.
Só para Inclementar a Respota tá aqui a Engine que fiz Para Ufrarion:
Tópico:
https://gmbr.forumeiros.com/t23648p15-resolvidodraw-desenha-sobre-um-obj-mas-nao-sobre-o-outro#176795
Engine: http://adf.ly/246619/http://www.4shared.com/file/r4xwnPN5/Inv__2__Editado_por_GuitarMest.html
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2209
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

Mensagem por saim Seg 27 Ago 2012, 15:01

moisesBR escreveu:Ei, de onde vc tira isso? Deixa ver... lógica, não?
Yup!
E um pouco de experiência. Pra saber o que estava acontecendo de errado no seu código, eu já penei um bocado com depth. Já tentei, como você, mudar a depth durante o step event (e precisei de alguém pra me dizer que isso não ia funcionar).
Pra sacar o instance_position, eu precisei de uma engine de drag, aí fui procurando qual função poderia me retornar "a instância sob o mouse", daí nunca mais esqueci (até me esqueço de position_meeting, às vezes, mas nunca mais esqueci de instance_position).
E a lógica pro seu problema, bom, você só precisava garantir que a depth do texto fosse menor que a dos objetos SEM MUDAR a depth dos objetos. O único jeito que me veio à cabeça foi usar um objeto à parte, o resto foi correção dos possíveis bugs - que também já aconteceram comigo, por isso eu meio que já consigo prever.
Agora, digitando, me veio à cabeça que definir a depth do objeto sob o mouse no final do end step event deve funcionar, também. Isso vai trazer a sprite pra cima, junto do texto, mas isso pode não ser um problema. Se quiser economizar um objeto, pode tentar isso.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]-Draw_text sempre por cima... Valeu saim! Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]-Draw_text sempre por cima... Valeu saim! Empty Re: [Resolvido]-Draw_text sempre por cima... Valeu saim!

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