1 TUTO blocos unidos no GM 28/01/12, 09:05 pm
pinpi
Iniciante
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
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 ? (
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)
}
Espero que goste do tutorial lembrando que se melhorar as sprites fica show !