Últimos assuntos
» Regras do Fórum
Hoje à(s) 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

» Tipo de Draw que dê melhor fps...
Sex 21 Ago 2015, 12:25 por Pai véi

» Banco de Dados online fácil de configurar
Sex 21 Ago 2015, 11:47 por Pai véi

» Ficou estranho esse efeito na terra?
Qua 19 Ago 2015, 20:08 por Adriel

» Você consegue decifrar o que é isso?
Qua 19 Ago 2015, 15:48 por Mateus O de Andrade

» Texto centralizado em sprite 64x64
Qua 19 Ago 2015, 14:00 por Vandson Fernandes

» [Tutorial] Um Único Script para Todos Diálogos do Jogo
Ter 18 Ago 2015, 22:12 por dharrison

» VIDEO AULAS - Plataforma - Recriando Super Mario
Ter 18 Ago 2015, 20:44 por Adriel

» Ajuda deixar room maior
Ter 18 Ago 2015, 15:56 por Stickman

» OST - Rain From The Past (Para Main Themes)
Seg 17 Ago 2015, 23:00 por Jessezyn

» #DGM Aula 01 - Views
Seg 17 Ago 2015, 00:16 por victor13.

» Alguém sabe as dimensões de um galaxy s5?
Dom 16 Ago 2015, 20:06 por vitorfernandes13

» Conquer The Kingdom
Dom 16 Ago 2015, 12:13 por DVictorPS

» [Ajuda] Bug ds_list
Dom 16 Ago 2015, 08:27 por Witen

» câmera seguir player com touch control android
Sab 15 Ago 2015, 15:05 por Lighter

» Apk não roda no celular
Sab 15 Ago 2015, 12:10 por xLuiZzz

» Minha galeria (fan arts)
Sab 15 Ago 2015, 02:05 por AG Hydra

Os membros mais ativos da semana
GMBR
 


Um sistema de textos diferente

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Um sistema de textos diferente

Mensagem por Convidad em Sab 16 Ago 2008, 21:25

Há no Game Maker um sistema de textos bem interessante que é o texto de sprites. Esse sistema nos possibilita criar a nossa própria fonte através de um desenho (pode ser até no paint mesmo!), e se você reparar bem, vai notá-lo em quase todos os jogos que conhece.




Vamos ver alguns exemplos desses textos? Olha só:


Os textos ficam muito mais legais que fontes tradicionais, sem falar que é possível "estilizar" a fonte com a quantidade de efeitos e cores que quiser.




Criando fontes a partir de desenhos


Um pouquinho do sistema ASCII:

Quando pressionamos uma tecla qualquer, estamos enviando ao sistema operacional um código correspondente à tecla pressionada. Esse código vai apontar para uma tabela onde se encontram todos os caracteres de um determinado idioma ou de uma determinada região.

Graças à esse sistema é possível alterar as configurações do teclado baseando-se na região, sem ter que alterar os caracteres de uma fonte, ou reproduzir fontes diferentes para cada idioma. Entre esses caracteres, temos os tipos: comum, especial, particular e operadores. Mas isso é um pouco mais chato, e vamos deixar isso de lado por enquanto...

O importante por hora, é que a gente conheça e entenda essa "tabela", que respeita uma ordem sequencial de caracteres chamada "American Standard Code for Information Interchange" ou "ASCII" (pronuncia-se "éski").

A sequência de caracteres ASCII usa 7 ou 8 bits para representar 128 ou 256 caracteres. O ASCII padrão utiliza 7 bits para representar todas as letras maiúsculas, minúsculas, números de 0 a 9 e alguns caracteres especiais (¢ = centavo de dólar, £ = libra, ¥ = Iene, $ = Cifrão, etc.).

A grande maioria dos processadores atuais também reconhecem o padrão "ASCII Alto", que é composto pelo oitavo bit da sequência, criado especialmente para caracteres orientais e muito doidos (esqueci qual era a palavra para "não-latinos"). Esse sistema também é conhecido por Unicode e abrange todos os idiomas do mundo!!!


Definindo quais caracteres vamos usar:

Abra o "Mapa de Caracteres": ele está no menu "Iniciar -> Programas -> Acessórios -> Ferramentas do Sistema". Você também pode abrir a caixa de executar pelo atalho "Winkey R" (Winkey é o boicote da Microsoft no teclado, ele fica no meio das teclas Ctrl e Alt, do lado esquerdo) e digitar "charmap" (sem aspas).


Selecione a caixa "Modo de exibição avançado" e na lista de Conjunto de Caracteres selecione a opção "Unicode". A tabela começa com o caractere "!" (exclamação). O limite da tabela é o que vamos decidir agora, pois não haveria necessidade de desenhar todas as letras minúsculas se usásse-mos somente maiúsculas no nosso game.

Da mesma forma, não haveria necessidade de desenhar letras se usásse-mos só os números. Mas é importante consolidar em nossas mentes como funciona essa tabela, porque infelismente não é possível "saltar" caracteres a menos que o fizésse-mos por substituição (o que tornaria digitar um texto uma tarefa complicada).

Aqui eu fiz só uns exemplos de fontes seguindo a ordem da tabela:













Criando a fonte:

O próximo passo depois de definir quais caracteres vamos usar é definir o tamanho da nossa fonte. Nos exemplos eu defini as dimensões: 20 pixels de largura por 30 pixels de altura. É claro que isso vai depender muito do
que será escrito com ela e do estilo do jogo, então cabe à você definir o tamanho ideal.




Agora nós vamos desenhar cada caractere (ou apenas modificar alguma fonte) respeitando o tamanho escolhido. Se cada caractere tem 20x30 pixels, a cada 20 pixels à direita (largura) deve haver um caractere correspondente à ordem da tabela ASCII, e a cada 30 pixels abaixo (altura) pode ou não haver uma nova sequência que complementa a de cima:


No Photoshop há um recurso bem útil e vai auxiliar bastante no trabalho: as guias. Elas são demarcadores de posição e vão nos orientar pela tela de pintura, então o que vamos fazer é posicioná-las a cada 20 pixels na altura (é o contrário, porque elas são transversais à seleção) e a cada 30 pixels na largura. Para usá-las, basta ativar a régua (o atalho é "Ctrl R", em qualquer versão), clicar na mesma e arrastar para a tela de pintura. Automaticamente a guia virá para a posição que você definir.


Mas se você acha isso complicado, "clique aqui" para baixar as actions do Photoshop que fazem as demarcações automaticamente. Essas actions criam gabaritos para fontes com caracteres "10x15", "20x30" e "30x50" pixels com apenas um clique e funcionam em qualquer versão do Photoshop a partir da 7. As guias já vão está lá prontinhas, é só se orientar por elas.

O tutorial de actions pode ser lido "clicando aqui"



Carregando e usando as fontes no Game Maker

O Game Maker vai reconhecer cada caractere da nova fonte como uma subimagem de uma sprite. Portanto o nosso próximo passo será transformar esses "strips" (conjunto de várias imagens organizadas em uma única imagem) em sprites animadas.

1 - Crie uma nova sprite no Game Maker e logo em seguida abra o Sprite Editor (clique no botão "Edit Sprite").

2 - No Sprite Editor, vá até o menu "File -> Create from strip" e abra o strip da fonte previamente salva.

3 - Defina a quantidade de subimagens de acordo com a quantidade de caracteres de sua fonte. Informe ao Game Maker também as dimensões dos caracteres e em quantas colunas horizontais e verticais estão organisados:



Quando confirmar, sua sprite será criada e terá o número de sub-imagens equivalente à quantidade de caracteres da fonte.

4 - Agora, devemos informar ao Game Maker que a sprite será usada como uma fonte pela função:

font_add_sprite(sprite,inicio,proporcional,espaçamento)

Essa função adiciona uma nova fonte através de uma sprite, para ser usada pelos eventos draw. Agora é só usar a fonte a vontade!!!

O primeiro argumento da função informa qual será a sprite usada para a nova fonte.

O segundo arqumento (início) informa qual é o primeiro caractere que usamos da tabela ASCII. Esse arqumento é um número (keymap do teclado) mas você pode usar a função ord() que retorna esse keymap pra gente! Ex: ord('!')

O argumento "proporcional" indica se o tamanho da fonte é relativo à cada caractere (cada caractere tem seu tamanho próprio) com true ou se a boundig box deve ser utilizada para definí-los (false).

O espaçamento não tem segredo. É a distância entre um caractere e outro.

Exemplo usando um dos strips nos exemplos:

Código:
draw_set_font(spr_fonte_01,ord('!'),true,8);

Espero que tenham gostado. É bem fácil não é mesmo?! Até mais!!!



Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Hyden em Sab 16 Ago 2008, 21:41

Muito bom (está tudo bem explicado), tenho certeza que será muito útil. Valeu mesmo, por mais um excelente tutorial brendan^^

Flws
avatar
Hyden

Data de inscrição : 11/07/2008
Número de Mensagens : 35
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por GMBR em Sab 16 Ago 2008, 21:52

Concordo com o Hyden, os melhores e mais bem explicados tutoriais o brendan consegue fazer, perfeito!

GMBR

Data de inscrição : 26/02/2008
Número de Mensagens : 352
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://gmbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Volstagg em Sab 16 Ago 2008, 21:53

brendan é o melhor pra fazer tutoriais! cheers
avatar
Volstagg

Data de inscrição : 16/05/2008
Número de Mensagens : 353
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Convidad em Sab 16 Ago 2008, 22:05

Putz! Valeu mesmo galera! Espero que os tutoriais ajudem a todos!!!

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Froidz em Sab 16 Ago 2008, 22:08

ótimo tuto cara, mas pra que colocar o banner do site três vezes no mesmo tópico? oO
avatar
Froidz

Data de inscrição : 03/08/2008
Número de Mensagens : 1053
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Convidad em Sab 16 Ago 2008, 22:09

:oops: Eu acabei me acostumando!! Very Happy

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Kabeção em Dom 17 Ago 2008, 13:49

Eu já uso isso a algum tempo.
Eu fiz todos os 256 caracteres do nada.
Foi um trabalho cansativo, mas o jogo fica muito mais estiloso. Smile

Ótimo turorial, você explica todo mesmo. Shocked
avatar
Kabeção

Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1

Ver perfil do usuário http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por gambit em Dom 17 Ago 2008, 16:29

não conseguir faze as letra ficam todas pretas e não com a cores,
eu coloquei no evento draw

draw_set_font(font_add_sprite(sprite0,ord('!'),1,10))
draw_text(x,y,'abcdefg')
avatar
gambit

Data de inscrição : 22/06/2008
Número de Mensagens : 156
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://ssqt.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Convidad em Dom 17 Ago 2008, 17:58

Tutorial muito legal kra! Parabéns!
Eu uso isso no Keyboad Destroyer 2, foi o sistema mais rápido e leve q achei!!

Att,
Evandro Gomes

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Guardiani em Dom 17 Ago 2008, 19:44

Muito bom e util o tuto!

Valew!!
avatar
Guardiani

Data de inscrição : 07/08/2008
Número de Mensagens : 31
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Janx em Dom 17 Ago 2008, 19:47

ptz mto legal!

so presisa ter paciencia para fazer todas essas letras!!!
xDD
avatar
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por rodrigo1434 em Dom 17 Ago 2008, 20:15

@gambit escreveu:não conseguir faze as letra ficam todas pretas e não com a cores,
eu coloquei no evento draw

draw_set_font(font_add_sprite(sprite0,ord('!'),1,10))
draw_text(x,y,'abcdefg')

tente colocar antes

draw_set_color(c_white)
lol!
avatar
rodrigo1434

Ranking : Nota C
Notas recebidas : C
Data de inscrição : 25/04/2008
Número de Mensagens : 318
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://brasilgame.forumbrasil.net

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por gambit em Sab 23 Ago 2008, 20:33

tente colocar antes

draw_set_color(c_white)
lol!

funcionou
avatar
gambit

Data de inscrição : 22/06/2008
Número de Mensagens : 156
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário http://ssqt.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Phillipe em Dom 24 Ago 2008, 13:36

Pode ficar bastante legal uma fonte caracteristica do jogo!Vlw brendan! cheers
avatar
Phillipe

Data de inscrição : 15/07/2008
Número de Mensagens : 324
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Gusba em Qui 25 Set 2008, 18:43

tem como eu fazer fontes para usar no windowns?
avatar
Gusba

Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :

Ver perfil do usuário http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por extremsx em Qui 25 Set 2008, 19:59

Sim existe programas pra fazer fontes não lembro o nome.
mas achei isso

http://ryan.com.br/mtk_fontes.htm <-- um minu tuto sobre como criar

http://baixaki.ig.com.br/busca/TrueType.htm <-- para mais coisas aqui

http://www.inexistentman.net/2008/04/15/crie-suas-proprias-fontes-online/ <-- criador online (comentarios) la tem o link pro site
avatar
extremsx

Data de inscrição : 17/09/2008
Número de Mensagens : 39
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por kyubi em Qui 29 Jan 2009, 16:46

Helloading - gostaria de saber de vc se voçê já passou por isso:

criei as fontes no ano passado com seu tutorial mas não tinha prestado atenção no uso da RAM que vai incrementando de 1 a 1 na memoria, ate estourar minha carga de ram e travar.
quando tirei as fontes que fiz a partir de seu tutorial simplesmente parou de carregar a ram!

porque isso esta acontecendo meu amigo desenvolvedor?
voçê já passou por isso?

Eu não gostaria de retirar a fonte pois me deu um trabalhão pra faze-las e meu jogo ficou muito bonito com elas ....até hit combo esta sendo gerado com efeito de luz para embeleza-lo ao extremo.

OBS: caso pergunte....tirei TUDO das rom e desativei tudo e só deixei as fontes ...e mesmo assim continua.....que lama!!

se alguem tiver conhecimento poderia me dar um help,

ficaria muito agradecido.
avatar
kyubi

Data de inscrição : 06/09/2008
Número de Mensagens : 19
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por kyubi em Qui 29 Jan 2009, 16:53

no DRAW do meu personagem esta assim:


//meu sprite
draw_sprite_ext(sprite_index,image_index,x,y-z,fac,image_yscale,image_angle,image_blend,image_alpha)

//barra de life
draw_healthbar(x,y,x+100,y+10,hp,c_red,c_yellow,c_yellow,0,1,1);

//fonte de texto criada
font_add_sprite(FONTE,ord('!'),1,10)
draw_set_color(c_white)
draw_set_font(FONTE)
draw_text(view_xview[0]+15,view_yview[0]+20,' SCORE ' + string(score));

draw_text(view_xview[0]+15,view_yview[0]+60,' VIDAS : ' + string(lives));

existe algum erro aqui??
avatar
kyubi

Data de inscrição : 06/09/2008
Número de Mensagens : 19
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Janx em Qui 29 Jan 2009, 17:23

kyubi,
tente nao fazer posts duplos.

acredito q o erro seja:

font_add_sprite(FONTE,ord('!'),1,10)

pois esta sempre adicionando o sprite.
ja q é um evento q acontece muitas veses.

Tente por no create.


FLW!
avatar
Janx

Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Um sistema de textos diferente

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum