Auto Draw GM

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

Auto Draw GM

Mensagem por gabrielsch em Qua 10 Mar 2010, 17:48

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

gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por Igor KinGamer em Seg 15 Mar 2010, 14:56

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.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por dungeon333 em Seg 15 Mar 2010, 15:51

Igor 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.
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
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

Número de Mensagens : 351
Data de inscrição : 29/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por gabrielsch em Seg 15 Mar 2010, 17:16

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.

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por donte em Seg 15 Mar 2010, 18:05

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;
}
step:
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

Número de Mensagens : 1164
Idade : 18
Data de inscrição : 22/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por gabrielsch em Seg 15 Mar 2010, 18:51

donte ainda não entendo para que serve o objeto sombra, eu uso cubos pretos só quero fazer o contorno...

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por Igor KinGamer em Seg 15 Mar 2010, 18:56

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

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por gabrielsch em Seg 15 Mar 2010, 19:07

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.

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por donte em Seg 15 Mar 2010, 20:20

então tira o step ;) pega do mesmo jeito ;)

donte

Número de Mensagens : 1164
Idade : 18
Data de inscrição : 22/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Auto Draw GM

Mensagem por Conteúdo patrocinado Hoje à(s) 03:50


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

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