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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Resolvido] Estranho bug ao executar arquivos externos

4 participantes

Ir para baixo

[Resolvido] Estranho bug ao executar arquivos externos Empty [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por saim Qua 14 Dez 2011, 15:45

Como muitos sabem, eu costumo programar de longe do game maker. Tenho uma lista com todas as funções e um game genérico, que pega um arquivo de texto e executa o que estiver dentro dele. Dentre as "coisas dentro dele" eu crio objetos com object_add() e adiciono eventos com object_event_add(ind,evtype,evnumb,codestr).
Isso tem me ajudado a testar minhas engines pra depois, em casa, já saber o que fazer pro jogo funcionar.

Só que agora me deparei com algo inusitado. Usando esse sistema, estabelece-se um limite pra função draw_text e pra draw_text_ext. Fiz um teste e não consegui exibir um texto com 53 caracteres na tela usando draw_text_ext. 52 vai numa boa, mas 53 trava o jogo. Usando a função draw_text, esse limite sobe para 59 caracteres.

Claro que esses limites não se aplicam quando eu jogo os textos diretamente no executável ou - isso estou supondo - ou mesmo quando eu importo os textos de um arquivo externo, mas faço isso com um objeto de dentro do executável.

Existe alguma explicação pra esse fenômeno? Porque eu não posso usar textos com muitos caracteres num objeto criado a partir de object_add()?

Sinto-me obrigado a mostrar o que usei em cada arquivo. Vai no spoiler:
Spoiler:


Última edição por saim em Qui 15 Dez 2011, 10:10, editado 1 vez(es)
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] Estranho bug ao executar arquivos externos 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] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por luiz_eldorado Qua 14 Dez 2011, 17:59

Que estranho...
Acho que não há esse "limite". Mas, que eu vi, você só está usando draw_text, nunca draw_text_ext. E não entedi direto qual é o bug que está dando. Explique melhor o que é que acontece e o que deveria acontecer.
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : [Resolvido] Estranho bug ao executar arquivos externos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

[Resolvido] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por henriquebr Qua 14 Dez 2011, 18:05

bom, vi que o problema é um bug mesmo, vc já tentou usar uma variavel para o texto e depois abrilá no draw_text_ext com uma var global?
henriquebr
henriquebr

Games Ranking : Nota D

Notas recebidas : D+B+D
Data de inscrição : 03/10/2011
Reputação : 1
Número de Mensagens : 421
Prêmios : [Resolvido] Estranho bug ao executar arquivos externos 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

Ir para o topo Ir para baixo

[Resolvido] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por Klior Qua 14 Dez 2011, 19:10

Estranho eu testei aqui e não tive problema nenhum, você deveria por a engine para saber exatamente como você está fazendo.

Testei da seguinte maneira:
#tutorial.saim.txt
Código:

globalvar objTutoControl, objTowerParent, objEgg, objSpermTuto, sprSperm, sprTower, sprEgg;

objTutoControl = object_add();
objTowerParent = object_add();
objEgg = object_add();
objSpermTuto = object_add();

execute_file(working_directory + "\tutorial2.obj.txt");

fonte = font_add("Arial", 12, 0, 0, 0, 255);
draw_set_font(fonte);

instance_create(0, 0, objTutoControl);

#tutorial2.obj.txt
Código:

object_event_add(objTutoControl, ev_create, 0, '
//substituir isso aqui pela rotina de importar textos
texto[0]= "123456789 121415181 222426282 323436383 424446484 52";
texto[1]= "123456789 121415181 222426282 323436383 424446484 525";
texto[2]= "123456789 121415181 222426282 323436383 424446484 5254565856";
textoAtual = 0;
')

object_event_add(objTutoControl, ev_keypress, vk_space, '
textoAtual += 1;

if (textoAtual == 3){
  game_end();
  }
')

object_event_add(objTutoControl, ev_draw, 0, '
draw_text(20, 20, texto[textoAtual]);
')

object_event_add(objTutoControl, ev_other, ev_game_end, '
sprite_delete(sprSperm);
sprite_delete(sprTower);
sprite_delete(sprEgg);
')

Creation Code da Room:
Código:
execute_file(working_directory + "\tutorial.saim.txt");

Todos os três textos foram mostrados sem problemas
Klior
Klior

Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios : [Resolvido] Estranho bug ao executar arquivos externos Empty

Medalhas x 0 Tutoriais x 1 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
  • C#
  • Javascript


Ir para o topo Ir para baixo

[Resolvido] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por saim Qui 15 Dez 2011, 00:05

luiz_eldorado escreveu:Que estranho...
Acho que não há esse "limite". Mas, que eu vi, você só está usando draw_text, nunca draw_text_ext. E não entedi direto qual é o bug que está dando. Explique melhor o que é que acontece e o que deveria acontecer.
Não há o limite MESMO, por isso estou estranhando.
Eu fiquei alternando entre as opções, mas postei uma só. Na prática, eu fiz as duas.
O bug é que o jogo trava, tem que ser fechado pelo gerenciador de tarefas. Como se eu tivesse entrado num loop infinito, o que não parece ser o caso.

henriquebr escreveu:bom, vi que o problema é um bug mesmo, vc já tentou usar uma variavel para o texto e depois abrilá no draw_text_ext com uma var global?
Já tentei:
- importar o texto de um outro arquivo externo (esse é meu objetivo final, na verdade)
- usar uma variável para o texto (que é o que está no exemplo)
- usar o texto diretamente no draw_text e draw_text_ext.
- Usar outros textos antes, pra ver se não é algo a ver com o índice do texto (o erro sempre ocorre ao mostrar o mesmo texto e muda de texto se eu mudar de função).
Não tentei usar uma global, mas não faz sentido uma global ser mais eficiente que uma local.

Klior escreveu:Estranho eu testei aqui e não tive problema nenhum, você deveria por a engine para saber exatamente como você está fazendo.
A engine está meio inacessível, no momento... Foi com o game genérico, aquele mesmo que está no link do tutorial. Essa sua versão deveria funcionar igualzinho - na prática, o que é feito é isso mesmo. Então o erro é só comigo? Estranho. Não faz sentido querer culpar a máquina - qualquer placa de vídeo consegue mostrar um texto desse tamanho (aliás, qualquer placa de SOM consegue isso). Por via das dúvidas, vou tentar testar em outras máquinas. Se importa em baixar a engine? Vou copiar o link aqui.
Pra não dizer que você fez idêntico, a extensão do primeiro arquivo é .saim, mesmo, sem o .txt no final. E a minha engine tem um objeto que procura arquivos da extensão .saim pra executar. Mas se não achar, ele pede o novo nome da extensão, então é só escrever "txt" (acho que SEM o ".").
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] Estranho bug ao executar arquivos externos 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] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por Klior Qui 15 Dez 2011, 09:11

saim escreveu:
Se importa em baixar a engine? Vou copiar o link aqui.

Com esse arquivo que você mandou realmente está travando, deu uma travada e tive que finalizar com ctrl + del, refiz o procedimento que eu tinha descrevi-do acima para ter certeza, e não travou, está com algum outro problema na 'engina' que você me mandou.
Klior
Klior

Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios : [Resolvido] Estranho bug ao executar arquivos externos Empty

Medalhas x 0 Tutoriais x 1 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
  • C#
  • Javascript


Ir para o topo Ir para baixo

[Resolvido] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

Mensagem por saim Qui 15 Dez 2011, 10:10

Hm... Não faço idéia do que pode ser. Bom, o problema está isolado, então. Até eu recuperar o acesso ao editável da engine, não faz sentido continuar esse tópico, de forma que estou trancando ele.

Muito obrigado a todos!
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] Estranho bug ao executar arquivos externos 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] Estranho bug ao executar arquivos externos Empty Re: [Resolvido] Estranho bug ao executar arquivos externos

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