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
» player não consegue andar
por 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

Ir para baixo

Auto Draw GM Empty Auto Draw GM

Mensagem por gabrielsch 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:

Auto Draw GM AdgpAuto Draw GM Dgpd

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
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : Auto Draw GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por Igor KinGamer 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
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : Auto Draw GM 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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por dungeon333 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 )
avatar
dungeon333

Data de inscrição : 29/05/2009
Reputação : 0
Número de Mensagens : 351
Prêmios : Auto Draw GM 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

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por gabrielsch 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.
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : Auto Draw GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por donte 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);
    }
}
avatar
donte

Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios : Auto Draw GM 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
Plataformas :
  • Game Maker Studio 2.0
  • Unity


Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por gabrielsch 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...
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : Auto Draw GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por Igor KinGamer 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í:
Auto Draw GM Tilesd

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

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : Auto Draw GM 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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por gabrielsch 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.
gabrielsch
gabrielsch

Games Ranking : Nota A

Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Reputação : 28
Número de Mensagens : 1230
Prêmios : Auto Draw GM Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 0

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

Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

Mensagem por donte Seg 15 Mar 2010, 20:20

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

Data de inscrição : 22/12/2009
Reputação : 0
Número de Mensagens : 1165
Prêmios : Auto Draw GM 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
Plataformas :
  • Game Maker Studio 2.0
  • Unity


Ir para o topo Ir para baixo

Auto Draw GM Empty Re: Auto Draw GM

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