Conectar-se
Quem está conectado
19 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 18 Visitantes

gart30

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 20:23
Como fazer uma caixa de texto ser do tamanho do texto, tipo :
=========
/Mamãe fez/
/mingau /
=========

tipo isso o texto por exemplo tem o tamanho de 64x32 e a caixa que fica atras do texto tem que ter o msm tamanho e um pouquinho a mais, pra caber o texto.
Alguem sabe ? o_O


Última edição por FlyAway em Sex 04 Maio 2012, 21:24, editado 1 vez(es)
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 20:34
Usa o tamanho da caixa de texto no valor do string_width(string) e/ou faz uma var que limita o string_length(str)
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 20:37
eu fiz isso esse final de semana hehehe, eu usei esse codigo aqui:
Código:
draw_set_alpha(.5)
draw_set_color(c_black)
draw_set_font(Consolas_12)
draw_set_halign(fa_center)
argument0=string_width(texto)
draw_rectangle(x-argument0/2+24,y-64, x+argument0/2+24,y-64+string_height(texto),false)
draw_set_alpha(1)
draw_set_color(c_white)
draw_text(x+24,y-66,texto)

Variaveis:
texto - o texto que vai aparecer

Fonte:
Consolas_12 - mude isso pelo nome da fonte que vc quiser, isso n afeta

o que faz:


Lembrete: Eu fiz o codigo em relaçao ao uso no meu jogo (no caso, aquela placa atras do player), talvez vc tenha que alterar os valores, mas n vai estar dificil, fica susse...

flw

_________________

.-.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 20:47
Naum deu certo Super Maker, eu tentei aqui olha como eu fiz :

draw_rectangle_color(x+11,y-37,string_width(global.text1)-5,string_height(global.text1)-5,c_white,c_white,c_white,c_white,0)

e vc naum explicou a utilidade das funções que vc citou.

Tedi ta mto confuso isso. e naum esta explicado.
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 21:02
draw_set_alpha(.5) - Faz o retangulo ser semi transparente

draw_set_color(c_black) - Cor do retangulo

draw_set_font(Consolas_12) - Fonte do texto

draw_set_halign(fa_center) - centraliza o texto

argument0=string_width(texto) - Salva a largura do texto

draw_rectangle(x-argument0/2+24,y-64, x+argument0/2+24,y-64+string_height(texto),false) - Desenha o retangulo

draw_set_alpha(1) - deixa o texto claro (nao transparente)

draw_set_color(c_white) - cor do texto

draw_text(x+24,y-66,texto) - desenha o texto

---//--//--//---

quando desenha o retangulo:
draw_rectangle(x-argument0/2+24,y-64, x+argument0/2+24,y-64+string_height(texto),false)

Draw_rectangle(x1,y1,x2,y2,outline)

----
x1- x-argument0/2 = posiçao x menos largura do texto dividido por 2
----
y1 - y-64
----
x2 - é a mesma coisa que o x1, só que pro outro lado
----
outline - false (pra preencher tudo)

---//--//--//---

agora ta explicado, só que assim, eu fiz esse codigo pro meu projeto, entao talvez nao vai ficar perfeito, mas qualquer coisa, é só mudar um pouco a posiçao X do quadrado e do texto ;D

_________________

.-.
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 21:16
Simplesmente cola isso aqui em um evento draw de um novo projeto que você vai entender:
Código:
texto = "Testando limite do texto";/*o valor dessa var é o texto que exibe na tela, ela pode mudar e por isso, podes
fazer o texto de todo seu jogo só com ela*/
draw_set_color(c_white);//isso vai deixar seu texto de uma cor diferente da caixa
caixa = draw_rectangle(x,y,x+string_width(texto),y+string_height(texto),0)/*aqui o x2 tem o valor do x1, só que acrecentando a largura do texto e o y2 tem o valor do y1 e acrecenta a altura do texto.*/
draw_set_color(c_blue)
draw_text(caixa.x,caixa.y,texto);/*caixa é a var que foi criada logo acima pra pintar a caixa onde vai conter os textos, eu só fiz usar como referência pra pegar os valores do x1 e y1 da caixa*/
Entendeu?


Última edição por Super Maker em Sex 04 Maio 2012, 21:23, editado 1 vez(es)
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 21:21
@Super Maker escreveu:Simplesmente cola isso aqui em um evento draw de um novo projeto que você vai entender:
Código:
texto = "Testando limite do texto";
draw_set_color(c_white)
caixa = draw_rectangle(x,y,x+string_width(texto),y+string_height(texto),0)
draw_set_color(c_blue)
draw_text(caixa.x,caixa.y,texto);
yes Bem melhor, eu tava com o script pronto, tava com preguiça de fazer do zero hehehe...

_________________

.-.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 21:24
Vlw Tedi, Agora ta blz Happy
consertei algumas coisas e ta td certo vlw msm !
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 21:26
Desculpa não ter te explicado direito antes, eu tava meio ocupado, mas já coloquei os comentários e tudo mais pra você aí acima.
Até mais!
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sex 04 Maio 2012, 23:34
@Super Maker escreveu:(...) caixa = draw_rectangle(x,y,x+string_width(texto),y+string_height(texto),0)/*aqui o x2 tem o valor do x1, só que acrecentando a largura do texto e o y2 tem o valor do y1 e acrecenta a altura do texto.*/
draw_text(caixa.x,caixa.y,texto);/*caixa é a var que foi criada logo acima pra pintar a caixa onde vai conter os textos, eu só fiz usar como referência pra pegar os valores do x1 e y1 da caixa*/
[/code]

Essa variável caixa não é um objeto então você não pode pegar os valores de x e y dela, não tem como pegar a posição que está desenhado um retângulo dessa forma, não sei porque isso não causa nenhum erro.
Resumindo,
caixa = draw_rectangle(x, y, x + string_width(texto), y + string_height(texto), 0);
draw_text(caixa.x, caixa.y, texto);
É a mesma coisa que:
draw_rectangle(x, y, x + string_width(texto), y + string_height(texto), 0);
draw_text(x, y, texto);
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sab 05 Maio 2012, 00:01
@Klior escreveu:
Essa variável caixa não é um objeto então você não pode pegar os valores de x e y dela, não tem como pegar a posição que está
Exatamente amigo isso não é um objeto e sim uma referência que eu criei, como eu comentei mais acima.
Mas aí você pensa bem, e se o programador quizer fazer com que a borda da caixa não encoste no texto?


Última edição por Super Maker em Sab 05 Maio 2012, 00:50, editado 1 vez(es)
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sab 05 Maio 2012, 00:25
Você não entendeu.
draw_rectangle ou roundrect não retorna nada, nem id como objeto, ele não é um objeto então você não pode usa-lo como ponto de referencia.
não importa em que posição esteja a "caixa"
quando você fizer isso para desenhar o texto:
draw_text(caixa.x,caixa.y,texto);
vai ser sempre assim:
draw_text(caixa.x,caixa.y,texto);
ou seja essa variável "caixa" não está fazendo diferença, então o texto vai ser desenhado na posição X e Y do objeto e não na posição X e Y do retângulo.

faça esse teste e verá que o texto ficará fora do retângulo.

Código:
texto = "Testando caixa de texto";
draw_set_color(c_black)
caixa = draw_roundrect(x-3+200,y-3,x+string_width(texto)+3+200,y+string_height(texto)+3,0)
draw_set_color(c_white)
caixa = draw_roundrect(x-1+200,y-1,x+string_width(texto)+1+200,y+string_height(texto)+1,0)
draw_set_color(c_blue)
draw_text(caixa.x,caixa.y,texto);
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Caixa de texto do tamanho do texto

em Sab 05 Maio 2012, 00:54
rsrsrsr e não é que eu errei mesmo? XD
Então FlyAway a minha dica seria:
Código:
texto = "Testando caixa de texto";
draw_set_color(c_white)
draw_rectangle(x,y,x+string_width(texto)+1,y+string_height(texto)+1,0)
draw_set_color(c_blue)
draw_text(x,y,texto);
Desculpa mais uma vez eu estar viajando na margarina.
E valeu Klior!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum