Rpg Maker BRasil
RPG Maker Brasil - RMBR

Seja Bem vindo ao Forúm! Faça seu cadastro e desfrute sobre o mundo do RPG Maker!
P.S.: PARA MELHOR VIZUALIZAÇÃO DO FORUM SEM BUGS, RECOMENDO QUE USEM O MOZILLA FIREFOX OU O GOOGLE CHROME!
Rpg Maker BRasil
RPG Maker Brasil - RMBR

Seja Bem vindo ao Forúm! Faça seu cadastro e desfrute sobre o mundo do RPG Maker!
P.S.: PARA MELHOR VIZUALIZAÇÃO DO FORUM SEM BUGS, RECOMENDO QUE USEM O MOZILLA FIREFOX OU O GOOGLE CHROME!
Rpg Maker BRasil

Evoluindo cada vez mais!


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1TUTO blocos unidos no GM Empty TUTO blocos unidos no GM 28/01/12, 09:05 pm

pinpi

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:
TUTO blocos unidos no GM Tuto_110
nesses blocos:
TUTO blocos unidos no GM Tuto_210
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 !

2TUTO blocos unidos no GM Empty Re: TUTO blocos unidos no GM 28/01/12, 09:36 pm

HenRyqUéè

HenRyqUéè
Administrador
Avaliador
Helper
Olá @pinpi, Seja Bem-Vindo ao forum! primeiramente.
Seu tutorial e muinto bom, um simples dica pra quem quer tirar aqueles riscos que da pra perceber que o objto e o mesmo, com isso da pra fzr um cenario bem legal com objetos pequenos, ta de parabéns pinpi, espere um avaliador avaliar sua engine (aqui tudo e avaliado ;)) poste mais e mais desses seus tutoriais, flw!

https://rmbr.forumeiros.com/

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos