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
Auto Draw GM
4 participantes
Página 1 de 1
Auto Draw GM
O Auto draw é a criação automatica de sprites, que nem no RPG Maker, bem, em uma engine i que havia um bloco com um contorno preto e cor cinza, bem simples, então estava lá na room em uma engine de acho que tiro, então fui testar os simples blocos ficaram mais ou menos assim:
Curioso com isso fui verificar os codigos do objeto e no draw tinha algo como "metting, bom, como eu formatei o pc eu perdi ela.
Alguém poderia me dizer como fazer isso no GM?
Nota: O codigo que eu me lembre acho que tava no evento Draw do objeto
Curioso com isso fui verificar os codigos do objeto e no draw tinha algo como "metting, bom, como eu formatei o pc eu perdi ela.
Alguém poderia me dizer como fazer isso no GM?
Nota: O codigo que eu me lembre acho que tava no evento Draw do objeto
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: Auto Draw GM
Um jeito que eu sei que dá para fazer é criar um sprite com todas as possibilidades de paredes que, se não me engano, são 29 (ou seja, em uma subimage, totalmente contornado (não há nenhum bloco por perto); em outra, aberto na direita (há um bloco à direita); outra, aberto em cima; aberto na esquerda; aberto embaixo; aberto na direita e em cima; em cima e na esquerda; esquerda e embaixo; embaixo e na direita; direita e esquerda; em cima e embaixo; na direita, em cima e na diagonal entre os dois; etc.).
E então, testar onde há blocos (do mesmo objeto) para escolher a subimage:
// Step:
if (!place_meeting(x+n, y, object_index)) // Não há à direita
{
if (!place_meeting(x, y-n, object_index)) // Não há em cima
{
if (!place_meeting(x-n, y, object_index)) // Não há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 0;
else // Há embaixo
image_index = 1;
}
else // Há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 2;
else // Há embaixo
image_index = 3;
}
...
O único problema é que tem que ser bem cuidadoso e paciente para ter certeza de que há todas as possibilidades, para relacionar todas as condições corretamente com as subimages, etc.
Se foi feito desse jeito e os códigos estavam no draw, pode ter sido usado draw_sprite em vez de image_index. Mas não dá pra ter nenhuma certeza do jeito que foi usado nessa tal engine.
E então, testar onde há blocos (do mesmo objeto) para escolher a subimage:
if (!place_meeting(x+n, y, object_index)) // Não há à direita
{
if (!place_meeting(x, y-n, object_index)) // Não há em cima
{
if (!place_meeting(x-n, y, object_index)) // Não há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 0;
else // Há embaixo
image_index = 1;
}
else // Há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 2;
else // Há embaixo
image_index = 3;
}
...
O único problema é que tem que ser bem cuidadoso e paciente para ter certeza de que há todas as possibilidades, para relacionar todas as condições corretamente com as subimages, etc.
Se foi feito desse jeito e os códigos estavam no draw, pode ter sido usado draw_sprite em vez de image_index. Mas não dá pra ter nenhuma certeza do jeito que foi usado nessa tal engine.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Auto Draw GM
sim eh + ou - isso a diferença eh que sao 256 possibilidades e nao 29Igor KinGamer escreveu:Um jeito que eu sei que dá para fazer é criar um sprite com todas as possibilidades de paredes que, se não me engano, são 29 (ou seja, em uma subimage, totalmente contornado (não há nenhum bloco por perto); em outra, aberto na direita (há um bloco à direita); outra, aberto em cima; aberto na esquerda; aberto embaixo; aberto na direita e em cima; em cima e na esquerda; esquerda e embaixo; embaixo e na direita; direita e esquerda; em cima e embaixo; na direita, em cima e na diagonal entre os dois; etc.).
E então, testar onde há blocos (do mesmo objeto) para escolher a subimage:
<gml class="brush: gml;">// Step:
if (!place_meeting(x+n, y, object_index)) // Não há à direita
{
if (!place_meeting(x, y-n, object_index)) // Não há em cima
{
if (!place_meeting(x-n, y, object_index)) // Não há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 0;
else // Há embaixo
image_index = 1;
}
else // Há à esquerda
{
if (!place_meeting(x, y+n, object_index)) // Não há embaixo
image_index = 2;
else // Há embaixo
image_index = 3;
}
...</gml>
O único problema é que tem que ser bem cuidadoso e paciente para ter certeza de que há todas as possibilidades, para relacionar todas as condições corretamente com as subimages, etc.
Se foi feito desse jeito e os códigos estavam no draw, pode ter sido usado draw_sprite em vez de image_index. Mas não dá pra ter nenhuma certeza do jeito que foi usado nessa tal engine.
ja q sao 8 lados
2 ^ 8 256
111
101
111
eu fiz uma engine
http://www.4shared.com/file/241867481/9e3dd0ee/RAYCAST_LIGHTING.html
pode usar como base , mais nao copia pq eu vou usar ele ( eh um projeto meu )
dungeon333- Data de inscrição : 29/05/2009
Reputação : 0
Número de Mensagens : 351
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Auto Draw GM
Poxa pensei que esse topico tava esquecido, pois bem, Kin Games, não entendi muito o seu codigo porque deu alguns erros aqui com os { e }.
E dungeon333 não entendi a engine, mas pelo projeto ele esta ótimo, tentei fazer um parecido no meu jogo para um editor de mapas.
E dungeon333 não entendi a engine, mas pelo projeto ele esta ótimo, tentei fazer um parecido no meu jogo para um editor de mapas.
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: Auto Draw GM
creat:
- Código:
{
edge1 = place_meeting(x+1,y,object_index) or (x+50 > room_width);
edge2 = place_meeting(x,y-1,object_index) or (y-2 < 0);
edge4 = place_meeting(x-1,y,object_index) or (x-2 < 0);
edge8 = place_meeting(x,y+1,object_index) or (y+50 > room_height);
image_index = edge1+edge2*2+edge4*4+edge8*8;
image_speed = 0;
shadow_image = edge1+edge4*2;
}
- Código:
{
draw_sprite(sprite_index,image_index,x,y);
if edge8 = 0
{
draw_set_blend_mode(bm_subtract);
draw_sprite(spr_chao_sombra,shadow_image,x,y+48);
draw_set_blend_mode(bm_normal);
}
}
donte- Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Re: Auto Draw GM
donte ainda não entendo para que serve o objeto sombra, eu uso cubos pretos só quero fazer o contorno...
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: Auto Draw GM
dungeon333 escreveu:sim eh + ou - isso a diferença eh que sao 256 possibilidades e nao 29
ja q sao 8 lados
2 ^ 8 256
111
101
111
São 256 possibilidades de combinação, mas não há um sprite para cada combinação (por exemplo, se houver apenas um bloco na diagonal, o sprite vai ser o mesmo que se não houver nenhum bloco).
Essa é uma tile set que eu fiz para um jogo meu, tem 47 imagens (os 3 últimos quadrados são apenas espaços vazios), acho que todas possíveis estão aí:
gabrielsch escreveu:Poxa pensei que esse topico tava esquecido, pois bem, *KinGamer*, não entendi muito o seu codigo porque deu alguns erros aqui com os { e }.
Eu não postei o código completo (por isso o '...' no final). Para fazer esse código, já tem que ter o sprite pronto, com todas subimages, sabendo a ordem. Só estava dando um exemplo.
Igor KinGamer- Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Auto Draw GM
Vamos acabar com isso, o kin gamer você pode fazer uma engine para eu analizar bem isso dai eu posso ficar fazendo uns testes aqui, então fazer os meus sprites aqui.
gabrielsch- Games Ranking :
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios :
x 0 x 0 x 0
x 1 x 2 x 0
x 1 x 0 x 0
Re: Auto Draw GM
então tira o step ;) pega do mesmo jeito ;)
donte- Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker Studio 2.0
- Unity
Tópicos semelhantes
» [Resolvido]draw primitive e draw vertex...como usar?
» Auto Run CD
» Auto click
» -> Draw <-
» draw,draw,draw
» Auto Run CD
» Auto click
» -> Draw <-
» draw,draw,draw
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos