Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[Engine] Efeitos de texto
+2
Doritos555
saim
6 participantes
GMBR :: Ensine & Aprenda :: Exemplos :: Game Maker (engines)
Página 1 de 1
[Engine] Efeitos de texto
Nome: Alguns efeitos com texto
Descrição: Um truque que faz os caracteres de um texto se comportar como várias instâncias independentes.
Nível de dificuldade: Iniciante
Requerimentos: Pro, pra alguns efeitos. Outros rodam em lite.
Pré-requisitos: Nenhum.
Download: primeira versão, segunda versão.
Controles: scroll (a rodinha do mouse) troca o efeito a ser usado, espaço inicia.
Cansado de ter aqueles textos estáticos na tela, quando você poderia ter letras pulando alegremente pela tela ou coloridas de forma dinâmica ou ter suas palavras explodindo como se tivessem sido vítimas de personagem do jogo?
Bom, eu vi uma engine muito parecida com essa do link a um tempo atrás e não lembro de tudo o que havia na engine, mas lembro o suficiente pra postar essa engine.
Basicamente, vamos dividir uma string em várias sub-strings de um caractere e armazenar a posição de cada substring de forma que desenhar todas essas substrings em suas posições corretas tenha o mesmo efeito visual que desenhar a string original.
Depois, mudamos essas posições, criando os efeitos.
Pra fazer essas substrings, copiamos o primeiro caractere da string na substring e, depois, eliminamos esse caractere da string original. Eu preferi fazer uma cópia e manter a string original, mas na prática, a única informação a ser mantida é o tamanho (em número de caracteres) dessa string original (a ser corrigido na próxima revisão).
Uma vez definida cada substring, a posição fixa de cada uma delas será igual à posição da substring anterior + o tamanho (a largura) da string anterior.
Tudo isso será feito num único loop, logo no create event do objeto que irá administrar todos os caracteres.
Nesse loop, o caractere e a posição de cada substring serão armazenados em arrays, bem como outras variáveis que serão usadas no momento do efeito (velocidade, gravidade, cor, o diabo).
Durante os efeitos, essas variáveis individuais serão alteradas, fazendo com que as letras pareçam brincar pela tela.
Chega de papo, o lance agora é código. Vou mostrar o create event aqui, o resto você vê baixando a engine (ainda preciso criar uns prints, quando criar eu edito e posto aqui).
Na engine, o create se extende um pouco mais, porque eu preciso mostrar diferentes efeitos, mas o importante, agora, é entender como o loop armazena as variáveis que serão usadas nas arrays. O resto é brincar.
Limitações conhecidas:
- A engine não aceita textos maiores que uma linha. Simplesmente não foi prevista essa possibilidade.
Alterações na aplicação em jogos
- Na engine, os efeitos têm um limite de tempo pra acontecer (o que pode cortar o barato, algumas vezes), mas isso não é necessário na implementação dela nos jogos.
- O que está sendo mostrado são só alguns exemplos do que pode ser feito com essa técnica. Há muito mais possibilidades, basta soltar a imaginação. Vou implementando essa engine no meu tempo livre, vocês podem enviar mais idéias.
- Eu usei triggers pra iniciar os efeitos e um switch, no step event, pra dar continuidade a eles. Pode-se usar scripts, event_user, alarms, ou qualquer outro evento pra iniciar os efeitos. Pra dar continuidade, o step é essencial, mas não há necessidade do switch, já que, normalmente, usa-se apenas um efeito.
Autorização: Qualquer um fica autorizado, desde já, a usar essa engine, sem obrigatoriedade de citar meu nome nos créditos.
Entretanto, eu ficaria agradecido se me mostrassem os jogos com uso dela, por mera curiosidade.
Edit: Fiz uma atualização que deixou o create event muito mais complexo de se entender, mas a engine ficou muito mais útil, então vale a pena queimar as pestanas. Vou manter a versão anterior a fim de possibilitar o entendimento, mesmo pra iniciantes, mas recomendo fortemente baixar a segunda versão.
Basicamente, incluí a opção de usar vários textos diferentes. Daí, cada caractere fica numa array 2D, em que o primeiro índice significa o texto (a string) daquele caractere e o segundo índice significa a posição dele no texto.
Como eu não sabia (e ainda não sei) se o string_copy funciona pra caracteres de além do tamanho do texto e precisava que o valor máximo do segundo índice fosse constante, criei uma rotina que inclui espaços em branco no final de cada texto, até todos terem a mesma quantidade de caracteres.
Se por um lado a inicialização ficou mais complicada, a utilização ficou bem mais simples. Coloquei o início e o step de cada efeito em scripts, joguei o índice desses scripts em arrays e pronto, pra usar é só saber qual efeito você quer e chamar o índice do script (hm... bem que eu podia usar argumentos ao invés de variáveis... fica pra próxima revisão!).
Mas porque isso ficou mais util? Porque agora, com número ilimitado de textos (que podem mudar em ciclos, como na engine, ou ir só do primeiro ao último), pode-se mostrar um texto longo que conte uma história, sem precisar criar um objeto pra cada texto diferente. Pode-se até usar alguma rotina de importação de texto, sei lá. Mesmo só pra leitura, sem aplicação em jogos, esses efeitos são bonitinhos e interessantes.
Não testei nem pretendo testar qual o tamanho da array que começa a dar lag no create event (tem uns laços bem longos, lá), mas pra qualquer tamanho, o step deve ser bem rápido.
Descrição: Um truque que faz os caracteres de um texto se comportar como várias instâncias independentes.
Nível de dificuldade: Iniciante
Requerimentos: Pro, pra alguns efeitos. Outros rodam em lite.
Pré-requisitos: Nenhum.
Download: primeira versão, segunda versão.
Controles: scroll (a rodinha do mouse) troca o efeito a ser usado, espaço inicia.
Cansado de ter aqueles textos estáticos na tela, quando você poderia ter letras pulando alegremente pela tela ou coloridas de forma dinâmica ou ter suas palavras explodindo como se tivessem sido vítimas de personagem do jogo?
Bom, eu vi uma engine muito parecida com essa do link a um tempo atrás e não lembro de tudo o que havia na engine, mas lembro o suficiente pra postar essa engine.
Basicamente, vamos dividir uma string em várias sub-strings de um caractere e armazenar a posição de cada substring de forma que desenhar todas essas substrings em suas posições corretas tenha o mesmo efeito visual que desenhar a string original.
Depois, mudamos essas posições, criando os efeitos.
Pra fazer essas substrings, copiamos o primeiro caractere da string na substring e, depois, eliminamos esse caractere da string original. Eu preferi fazer uma cópia e manter a string original, mas na prática, a única informação a ser mantida é o tamanho (em número de caracteres) dessa string original (a ser corrigido na próxima revisão).
Uma vez definida cada substring, a posição fixa de cada uma delas será igual à posição da substring anterior + o tamanho (a largura) da string anterior.
Tudo isso será feito num único loop, logo no create event do objeto que irá administrar todos os caracteres.
Nesse loop, o caractere e a posição de cada substring serão armazenados em arrays, bem como outras variáveis que serão usadas no momento do efeito (velocidade, gravidade, cor, o diabo).
Durante os efeitos, essas variáveis individuais serão alteradas, fazendo com que as letras pareçam brincar pela tela.
Chega de papo, o lance agora é código. Vou mostrar o create event aqui, o resto você vê baixando a engine (ainda preciso criar uns prints, quando criar eu edito e posto aqui).
- Código:
draw_set_font(font0); //define a fonte a ser usada (importante pro string_width)
texto = "Aperte espaço para ver o efeito" //um texto de uma linha qualquer
xt = 20; yt = room_height / 2; //uma posição pro texto original, na tela
var copia, i;
copia = texto; //uma cópia do texto origianal, pra ser editada
for(i = 0; i <= string_length(texto); i += 1){ //pra cada letra do texto
substring[i] = string_copy(copia, 0, 1); //cria uma substring da primeira letra da cópia
pyP[i] = yt + 20; py[i] = pyP[i]; // define uma posição (final e temporária) em y pra cada letra
if (i == 0){ //se é a primeira letra
pxP[i] = xt; //define a posição final (em x)
px[i] = pxP[i]; //define a posição temporária (em x)
}
else { //pras demais letras
pxP[i] = px[i - 1] + string_width(substring[i - 1]); //a posição final é igual à temporaria da letra anterior + o tamanho da letra anterior
px[i] = pxP[i]; //a posição temporária começa igual à final
}
spdX[i] = 0; //a velocidade (em x) individual começa como zero
spdY[i] = 0; //a velocidade (em y) individual começa como zero
cor[i] = 0; //a cor individual começa como preto
grav[i] = 0; //a gravidade individual começa como zero
copia = string_delete(copia, 1, 1); //Elimina a primeira letra da cópia, de modo que o loop pegue todas as letras
}
Na engine, o create se extende um pouco mais, porque eu preciso mostrar diferentes efeitos, mas o importante, agora, é entender como o loop armazena as variáveis que serão usadas nas arrays. O resto é brincar.
Limitações conhecidas:
- A engine não aceita textos maiores que uma linha. Simplesmente não foi prevista essa possibilidade.
Alterações na aplicação em jogos
- Na engine, os efeitos têm um limite de tempo pra acontecer (o que pode cortar o barato, algumas vezes), mas isso não é necessário na implementação dela nos jogos.
- O que está sendo mostrado são só alguns exemplos do que pode ser feito com essa técnica. Há muito mais possibilidades, basta soltar a imaginação. Vou implementando essa engine no meu tempo livre, vocês podem enviar mais idéias.
- Eu usei triggers pra iniciar os efeitos e um switch, no step event, pra dar continuidade a eles. Pode-se usar scripts, event_user, alarms, ou qualquer outro evento pra iniciar os efeitos. Pra dar continuidade, o step é essencial, mas não há necessidade do switch, já que, normalmente, usa-se apenas um efeito.
Autorização: Qualquer um fica autorizado, desde já, a usar essa engine, sem obrigatoriedade de citar meu nome nos créditos.
Entretanto, eu ficaria agradecido se me mostrassem os jogos com uso dela, por mera curiosidade.
Edit: Fiz uma atualização que deixou o create event muito mais complexo de se entender, mas a engine ficou muito mais útil, então vale a pena queimar as pestanas. Vou manter a versão anterior a fim de possibilitar o entendimento, mesmo pra iniciantes, mas recomendo fortemente baixar a segunda versão.
Basicamente, incluí a opção de usar vários textos diferentes. Daí, cada caractere fica numa array 2D, em que o primeiro índice significa o texto (a string) daquele caractere e o segundo índice significa a posição dele no texto.
Como eu não sabia (e ainda não sei) se o string_copy funciona pra caracteres de além do tamanho do texto e precisava que o valor máximo do segundo índice fosse constante, criei uma rotina que inclui espaços em branco no final de cada texto, até todos terem a mesma quantidade de caracteres.
Se por um lado a inicialização ficou mais complicada, a utilização ficou bem mais simples. Coloquei o início e o step de cada efeito em scripts, joguei o índice desses scripts em arrays e pronto, pra usar é só saber qual efeito você quer e chamar o índice do script (hm... bem que eu podia usar argumentos ao invés de variáveis... fica pra próxima revisão!).
Mas porque isso ficou mais util? Porque agora, com número ilimitado de textos (que podem mudar em ciclos, como na engine, ou ir só do primeiro ao último), pode-se mostrar um texto longo que conte uma história, sem precisar criar um objeto pra cada texto diferente. Pode-se até usar alguma rotina de importação de texto, sei lá. Mesmo só pra leitura, sem aplicação em jogos, esses efeitos são bonitinhos e interessantes.
Não testei nem pretendo testar qual o tamanho da array que começa a dar lag no create event (tem uns laços bem longos, lá), mas pra qualquer tamanho, o step deve ser bem rápido.
Última edição por saim em Qui 23 Fev 2012, 15:30, editado 1 vez(es)
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: [Engine] Efeitos de texto
Bem louco isso!! Eu baixei e estava vendo como funciona, estava alterando uns valores para ver o que dá. Na verdade eu estava tentando mudar os textos durante o jogo, mas deu um desastre e agora a engine não funciona mais Haha;
Depois eu baixo novamente e tento outra vez estudar esse engine, agora estou meio sem tempo.
Depois eu baixo novamente e tento outra vez estudar esse engine, agora estou meio sem tempo.
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Mudar o texto com animação?Doritos555 escreveu:Na verdade eu estava tentando mudar os textos durante o jogo
Não pensei nisso... mas pode ser possível, sim! Bem mais complexo, mas pode criar efeitos sensacionais! Tipo, você faz uma array 2D de substrings, num índice da array você coloca a qual substring o índice se refere, como antes, e no outro índice, a qual texto a substring se refere.
Daí, usa um efeito pro texto que sai e outro efeito diferente pro texto que entra. Talvez até evita animar as substrings que sejam iguais, como se o computador estivesse com preguiça de tirar uma letra pra colocar outra igual (o que, na verdade, vai dar é um pouco mais de trabalho).
Vou ver o que dá pra fazer, aqui...
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: [Engine] Efeitos de texto
Não seria bem mudar o texto com animação, o que ia ser bem complicado. Isso ia ficar bem mais bonito na verdade. Até mudar o texto após a animação serve.
Eu coloquei um texto_number =0 no create event, e no alarm[0] coloquei texto_number +=1 (pra passar pro proximo texto toda vez que um efeito acaba) e no step, eu coloquei
if texto_number =1{texto = "Primeiro texto"}
if texto_number =2{texto = "Segundo texto"}
if texto_number =3{texto = "Terceiro texto"}
if tex...........
Mas eu percebi que a frase que recebe a animação não muda. Pelo jeito não é a variável texto que controla a frase da animação, por que eu fazendo o que fiz acima, o texto estatico muda toda vez que a animação acaba, mas o animado volta assim:
Digite sua f
Digite sua fra
Digite su
Essas coisas do gênero (a mesma frase que você coloca no começo inacabada). Acho que isso dai ainda não é pra mim, é bem complicado D:
Eu coloquei um texto_number =0 no create event, e no alarm[0] coloquei texto_number +=1 (pra passar pro proximo texto toda vez que um efeito acaba) e no step, eu coloquei
if texto_number =1{texto = "Primeiro texto"}
if texto_number =2{texto = "Segundo texto"}
if texto_number =3{texto = "Terceiro texto"}
if tex...........
Mas eu percebi que a frase que recebe a animação não muda. Pelo jeito não é a variável texto que controla a frase da animação, por que eu fazendo o que fiz acima, o texto estatico muda toda vez que a animação acaba, mas o animado volta assim:
Digite sua f
Digite sua fra
Digite su
Essas coisas do gênero (a mesma frase que você coloca no começo inacabada). Acho que isso dai ainda não é pra mim, é bem complicado D:
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Modifiquei a engine. Como ficou um tanto complexo, o create event, mantive a engine anterior, que é mais simples e serve pra mostrar a idéia básica. Mas está tudo muito comentado, acho que com um pouco de esforço dá pra entender a segunda versão numa boa.
A atualização está no edit do primeiro post. A segunda versão está com o download logo ao lado da primeira versão.
A atualização está no edit do primeiro post. A segunda versão está com o download logo ao lado da primeira versão.
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: [Engine] Efeitos de texto
aki deu erro ta dando
___________________________________________
ERROR in
action number 1
of Draw Event
for object objEfeito:
Error in code at line 7:
draw_text_color(px[textoSai, j], py[textoSai, j], substring[textoSai, j], cor[textoSai, j], cor[textoSai, j], cor[textoSai, j], cor[textoSai, j], alpha[textoSai, j]); //desenha a letra na posi��o tempor�ria (que pode ser igual � final)
^
at position 6: This function is not available in the Lite Edition.
___________________________________________
ERROR in
action number 1
of Draw Event
for object objEfeito:
Error in code at line 7:
draw_text_color(px[textoSai, j], py[textoSai, j], substring[textoSai, j], cor[textoSai, j], cor[textoSai, j], cor[textoSai, j], cor[textoSai, j], alpha[textoSai, j]); //desenha a letra na posi��o tempor�ria (que pode ser igual � final)
^
at position 6: This function is not available in the Lite Edition.
jharik- Data de inscrição : 19/03/2012
Reputação : 1
Número de Mensagens : 25
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Esse é um dos efeitos que requerem a versão pro. É que ele usa a função draw_text_color.
Infelizmente, você vai ter que se virar sem ele ou conseguir uma versão pro.
...
Esse de cores ainda dá pra ficar variando a cor do draw_set_color, e, se bobear, até do draw_set_alpha, mas tenho a impressão que o preço em processamento não é barato.
Seja como for, essa linha está dentro de um loop, certo? Você coloca, antes dela, "draw_set_color(cor[textoSai, j]); draw_set_alpha(alpha[textoSai, j]);" e substitui a linha por "draw_text(px[textoSai, j], py[textoSai, j], substring[textoSai, j])". NESSE CASO, pode ser que funcione.
Ainda que não funcione, não é um dos meus preferidos. Elimine os efeitos que gerarem esses erros, pra ver o resto. Os mais legais, na minha opinião, usam apenas funções lite.
Infelizmente, você vai ter que se virar sem ele ou conseguir uma versão pro.
...
Esse de cores ainda dá pra ficar variando a cor do draw_set_color, e, se bobear, até do draw_set_alpha, mas tenho a impressão que o preço em processamento não é barato.
Seja como for, essa linha está dentro de um loop, certo? Você coloca, antes dela, "draw_set_color(cor[textoSai, j]); draw_set_alpha(alpha[textoSai, j]);" e substitui a linha por "draw_text(px[textoSai, j], py[textoSai, j], substring[textoSai, j])". NESSE CASO, pode ser que funcione.
Ainda que não funcione, não é um dos meus preferidos. Elimine os efeitos que gerarem esses erros, pra ver o resto. Os mais legais, na minha opinião, usam apenas funções lite.
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: [Engine] Efeitos de texto
show mais aki n pego
mcjharikmc- Data de inscrição : 21/03/2012
Reputação : 1
Número de Mensagens : 1
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Foi vc q fez isso ?
Se foi vc é um monstro vei. que isso incrivel adorei.
Vc é muito bom, vou pagar pra vc me da aula vc mora aonde ?
Mto massa !
Se foi vc é um monstro vei. que isso incrivel adorei.
Vc é muito bom, vou pagar pra vc me da aula vc mora aonde ?
Mto massa !
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Perfeitamente perfeito!
Saim, você é um gênio, ficou muito bem esses efeitos.
Valeu!
Saim, você é um gênio, ficou muito bem esses efeitos.
Valeu!
Super Maker- Data de inscrição : 09/07/2011
Reputação : 6
Número de Mensagens : 646
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Engine] Efeitos de texto
Mais ou menos... FAZER, fui eu quem fez, mas a idéia original não é minha.FlyAway escreveu:Foi vc q fez isso ?
Eu já tinha visto uma engine parecida e lembrava da base: dividir o texto em sub-strings de um caractere. Na época, só ficou isso na minha cabeça, o resto eu não consegui entender.
Aí, o Doritos555 precisou de algo do tipo e eu pensei: agora eu já dou conta de refazer aquela engine! Fiz. Tenho a impressão que a engine original dava suporte pra textos em múltiplas linhas, mas isso eu não consegui fazer.
Que bom que a engine agradou! Eu me diverti, fazendo ela. Adoro esses usos de geometria em games. Se alguém tiver mais alguma idéia pro texto entrando ou saindo, por favor, sugira!
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
Tópicos semelhantes
» Engine de Efeitos/Particulas Variadas
» engine simples de movimento usando efeitos
» Engine de caixa de texto
» Engine de Efeitos
» engine de efeitos de dragon ballz
» engine simples de movimento usando efeitos
» Engine de caixa de texto
» Engine de Efeitos
» engine de efeitos de dragon ballz
GMBR :: Ensine & Aprenda :: Exemplos :: Game Maker (engines)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos