[Tuto] Blocos unidos jamais serão vencidos !

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

[Tuto] Blocos unidos jamais serão vencidos !

Mensagem por Lukbebalduke em Sab 07 Jan 2012, 21:04

Blocos unidos jamais seram vencidos !


Já se perguntaram por que todos os jogos de plataforma da GMBR tem sempre a mesma coisa quando se trata de blocos ? Então resolvi dar um pouco de ateção a eles e não a player dessa vez ! Então se quiser transformar esses blocos:

nesses blocos:

Continue lendo !

Requerimentos
Conhecimento do place_meeting
Dessas sprites:
Código:
http://www.4shared.com/rar/A_K_mgxt/blocos.html
Conhecimento do create e do plano cartesiano de programação
Ter o conhecimento do ! (not)

Começando

Crie o obj_bloco coloque qualquer sprite quadrada nele.
Ele vai ter muitos codigos no create, caso quera diminuir os codigos e as sprites é só ter um bom conhecimento de image_angle e adaptar o codigo. No create vamos começar chegando se tem alguem em volta em todas as faces e se não tem ninguem em todas as faces Para fazer o spr_a1 e spr_b1

Vamos começar com o a1

Código:
if ! place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and ! place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_a1)
}

Ai da para perceber que ele checa se não tem ninguem em todos os lados, ai ele muda a sprite

Agora o b1 é a mesma coisa só que sem os nots:

Código:
if place_meeting(x-1,y,obj_bloco) and place_meeting(x+1,y,obj_bloco) and place_meeting(x,y-1,obj_bloco) and place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_b1)
}

Agora vamos checar se só tem uma face sem ninguem para fazer os cs (c no plural).

Código:
if ! place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and ! place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_c1)
}
if  place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and ! place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_c2)
}
if ! place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_c3)
}

Como vc viu eles usam os mesmo principios. Mas e o c4 ? (explodio kkk) Se vc entendeu vc da conta de fazer o c4 né ?

Agora vamos programar os ds (d no plural), que vai checar se tem 2 faces com e 2 faces sem, mais sem serem opostas (a sem ser oposta a sem) pois isso é papel dos fs (f no plural):

Código:
if  place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and ! place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_d1)
}
if  place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_d2)
}
if ! place_meeting(x-1,y,obj_bloco) and  place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_d3)
}

o d4 tbm é por sua conta. Agora vamos aos es (e no plural) que checa se só tem 1 face vazia:

Código:
 if  place_meeting(x-1,y,obj_bloco) and  place_meeting(x+1,y,obj_bloco) and ! place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_e1)
}
if  place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_e2)
}
if  place_meeting(x-1,y,obj_bloco) and  place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and ! place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_e3)
}
if ! place_meeting(x-1,y,obj_bloco) and  place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_e4)
}

Não, não precisa fazer o e4. Agora vamos aos fs (f no plural) que checam se tem duas faces com e duas face sem. Mais opostas, a sem oposta a sem e a com oposta a com
Assim:

Código:
if ! place_meeting(x-1,y,obj_bloco) and ! place_meeting(x+1,y,obj_bloco) and  place_meeting(x,y-1,obj_bloco) and  place_meeting(x,y+1,obj_bloco)
{
sprite_index=(spr_f1)
}
A f2 é por sua conta !

Espero que goste do tutorial lembrando que se melhorar as sprites fica show !



Última edição por pinpi em Sab 07 Jan 2012, 23:56, editado 3 vez(es)

Lukbebalduke

Ranking : Nota B
Número de Mensagens : 764
Data de inscrição : 06/07/2011
Notas recebidas : B - B - A - B
Reputação : 30
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por joao truzzi em Sab 07 Jan 2012, 21:57

cara, muito legal o seu tuto sobre os blocos o meu ficou igual ao seu,
vai ser muito util para jogos de plataforma ou labirinto entre outros,
ta de parabens

joao truzzi

Número de Mensagens : 24
Idade : 20
Data de inscrição : 19/09/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por PedroX em Sab 07 Jan 2012, 22:15

Ficou bom o tutorial.
Aprovado.
No entanto, arrume os erros ortográficos no titulo:
Blocos unidos jamais serão vencidos

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por Tedi Ripper em Dom 08 Jan 2012, 00:29

kk, eu ja fiz isso com os tiles do mario:
Antes


Depois

-edit-
ops, enviei sem querer =P

Legal seu tuto cara, mas dava pra explicar melhor.
flw

Tedi Ripper

Ranking : Nota C
Número de Mensagens : 765
Idade : 19
Data de inscrição : 21/11/2010
Notas recebidas : C
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por Lukbebalduke em Dom 08 Jan 2012, 19:29

Pedro:

Já arrumei

Tedi:

Ficou muito legal seu exemplo !

Lukbebalduke

Ranking : Nota B
Número de Mensagens : 764
Data de inscrição : 06/07/2011
Notas recebidas : B - B - A - B
Reputação : 30
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por charlles.rafael em Qua 01 Jan 2014, 17:11

cara parabens pelo tutorial, por encrivel que pareça eu fiz o meu editor de mapas assim :http://gmbr.forumeiros.com/t27311-editor-de-fases-que-exporta-pra-mapamap

e juro que nao tinha visto seu post ate hoje, cara parabens o tutorial esta muito bom

charlles.rafael

Número de Mensagens : 82
Idade : 23
Data de inscrição : 30/09/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://charllesrafael.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por glasdou em Qua 01 Jan 2014, 18:33

bom tutorial mas eu acho que seria mais facil criar um obj_bloco transparente e usar tiles-set

glasdou

Número de Mensagens : 95
Idade : 17
Data de inscrição : 21/11/2013
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por AG Hydra em Qui 09 Jan 2014, 07:17

Ae mano parabéns o tutorial foi ótimo, e obrigado por compartilhar antes não sabia utilizar o comando "place_meeting" graças a você eu sei agora e vai ser muito útil para iniciantes na area. valew  cheers 

AG Hydra

Número de Mensagens : 130
Data de inscrição : 23/04/2012
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por Lukbebalduke em Qui 09 Jan 2014, 14:35

glasdou escreveu:bom tutorial mas eu acho que seria mais facil criar um obj_bloco transparente e usar tiles-set

Isso pode ser util no GMS Free onde você tem um número de tiles limitadas.

Lukbebalduke

Ranking : Nota B
Número de Mensagens : 764
Data de inscrição : 06/07/2011
Notas recebidas : B - B - A - B
Reputação : 30
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

Voltar ao Topo Ir em baixo

Re: [Tuto] Blocos unidos jamais serão vencidos !

Mensagem por Conteúdo patrocinado Hoje à(s) 08:16


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