Sonic Game Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar
Últimos assuntos
SONIC ADVENTURE 3Sáb 13 Jan - 13:50:03KellyaneFELIZ NATAL 2023Seg 25 Dez - 12:48:36Divin Sphere HiroshaiErro ao Abrir ProjetoTer 25 Jul - 8:44:49Ian LagesJá fazem 10 anos...Qua 3 maio - 12:21:59Divin Sphere HiroshaiFeliz Natal 2022Qua 11 Jan - 21:41:47Ian LagesTOUCH - AndroidSex 21 Out - 21:40:23Divin Sphere HiroshaiA volta de nat-frutoSex 12 Ago - 11:24:58Divin Sphere HiroshaiDiscord Game MakerDom 9 Jan - 23:16:01Nest_DJ.EXtremeHAPPY NEW YEAR 2022Sáb 1 Jan - 20:27:23Divin Sphere HiroshaiDoIt - Jogo AndroidSáb 1 Jan - 20:22:31Divin Sphere HiroshaiFELIZ NATAL 2021Sáb 25 Dez - 23:43:15Divin Sphere Hiroshaiefraim leonardo quadrinhos do sonicSeg 22 Nov - 8:48:52FizContaSóPraIsso[11/2021] Atualizações Importantes de SegurançaDom 7 Nov - 23:41:23Lago Roxoum post interessanteTer 27 Jul - 17:10:45Divin Sphere HiroshaiBring The Block - AndroidSáb 17 Abr - 15:31:53Divin Sphere Hiroshai

Ir para baixo
avatar
...
Mensagens : 106
Reputação : 0
Data de inscrição : 26/01/2012
Masculino
Localização : Guaratinguetá - SP

Game Maker - Rampas e Degraus Empty Game Maker - Rampas e Degraus

Dom 29 Jan - 20:42:28
3D Tutorials

for GM6
by John J.A.H. Weeren Créditos a esse cara que nem conheço Razz
Tutorials Copyrights
All rights reserved. Copyright ©️ 2004 by John J.A.H. Weeren. Unauthorized use
or reproduction, whole or in part, without written permission from the author is
strictly prohibited.
Game Maker Copyright
Game Maker ©️ by Mark Overmars (http://www.gamemaker.nl).
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Traduzido por Alex Klen 05/09/05

Tutorial:
Degraus e rampas

O que você aprenderá: criar Degraus e rampas.

1.1. Introduction
O que você aprenderá:
· Montando os objetos,
· Montando os scripts,
· Batendo contra blocos,
· Caminhando em rampas,
· Trocando/alternando entre rampas e degraus.

1.2. Montando os objetos
Esse tutorial é sobre Degraus e rampas. Iremos ver que não há nenhuma diferença real entre eles.
A unica diferença esta no modo de ver, mas nao no modo de trabalhar/funcionar.
Para ver como funciona, Vamos dar uma olhada nos objetos e scripts que usaremos.
Existem 4 objetos que serao usados: a camera (obj_Camera), um chão (obj_Floor), um bloco (obj_Block) e uma rampa (obj_Ramp).
A camera é necessaria para "olhar" a cena (um planeta alienigina no caso). Também serve para a visao de primeira pessoa do nosso personagem.
O chao servira para o nosso objeto de terra que tem o valor z = 0 (altura zero). Iremos precisar de blocos objects para andar sobre eles e o objeto da rampa para subir nos blocos.

1.3. Montando os scripts

Como eu disse, tambem usaremos scripts. Vamos dar uma olhada em todos eles e ver o que fazem.
O script ‘scr_Start3D’ seta/liga o modo usual 3D (veja o tutorial ‘começando com 3D’).
O script ‘scr_Camera’ deve tambem lembrar algo familiar (veja o tutorial ‘Especificaçao do Seno’). Vamos lembrar do codigo:

//draw what the camera sees
xt=x+cos(direction*pi/180);
yt=y-sin(direction*pi/180);
zt=z+zdirection;
d3d_set_projection(x,y,z+64, xt,yt,zt+64, 0,0,1); //64 é altura de z (pé) do character's

Note que nao usamos seno para a zdirection da camera (pitch). Mas isso ainda funciona.

O script ‘scr_DeclareZ’ nao deve te surpreender tambem (veja o tutorial ‘Z values’),
Nem o script ‘scr_Mouselook’ (veja o tutorial ‘Z detection’). O script scr_Block simplifica desenhar do bloco e o script scr_Floor faz o mesmo para a terra/chao.
Nenhuma surpresa por enquanto, certo?

1.4. Batendo contra blocos

Nós não queremos que nossa camera (ou character) se mova dentro de um bloco, entao queremos que a camera/personagem bata contra os blocos quando nao estivermos no topo deles.
Iremos usar o script ‘scr_CameraBump’:

//camera bumps into solid things
x=xprevious;
y=yprevious;
speed=0;

Chamaremos esse script quando precisarmos dele. (Chamar um script por meio de executar e rodar um script com o "piece of code"). Quando a camera object (obj_Camera)
colidir com um bloco ira executar script ‘scr_BlockCheck’. Colocaremos um evento no evento de colisao da camera. O script (scr_BlockCheck) é esse:

//check for bumping against blocks
if collision_circle(x,y,2,obj_Block,false,false) then
{
near=instance_nearest(x,y,obj_Block);
if near.z>= z then script_execute(scr_CameraBump);
}
else
{zgravity=1;}

Primeiro checa se o character está tocando um bloco. Se nao, a gravidade sera ligada (veja a ultima linha do codigo).
Se o character tocar um bloco, checariamos o mais próximo block e verificariamos se esse valor z é maior ou igual a do nosso character (z).
Se for, sera executado o comando do script usado no ‘script_execute’ .

Esse meio nos proporcionara andar sobre os blocos(zgravity é zero) mas cairemos fora dos blocos quando nao estivermos sobre eles (zgravity é 1).
(Mais sobre o uso da gravidade pode ser encontrado no tutorial sobre ‘Platformas’.)

1.5. Caminhando sobre rampas

No Step event da camera object encontraremos dois scripts, O primeiro ‘scr_Move’ que tem o código seguinte:

//check for ramps
if collision_circle(x,y,2,obj_Ramp,false,false) then
{
zgravity=0;zspeed=0;
near=instance_nearest(x,y,obj_Ramp);
z=48-distance_to_point(near.x,near.y);
}
else
script_execute(scr_BlockCheck);

Primeiro verificariamos se aqui tiver uma rampa. Se nao, executara o script ‘scr_BlockCheck’ denovo (leia o paragrafo anterior).
Mas se aqui existir uma rampa, sera abilitado para andar sobre ela pela configuraçao de zgravity e zspeed serem setados
para zero e achando a mais próxima rampa object (obj_Ramp) e modificar o z do character (ou camera) para a altura dele mesmo (48) menos a distância
para o ponto (x,y) da mais próxima rampa.

O sprite da rampa aponta Leste.

Se você der uma olhada no sprite da rampa (spr_RampEast), vc vera aonde é a origem do sprite.
Iremos usar essa origem para calcular a altura do character.
Queremos que o character suba (valor de z mais alto) até alcançar o topo (origem) da rampa.
O sprite é chamado ‘spr_RampEast’ porque esta apontando para leste.

Em um game, você poderia querer criar mais rampas que apontem outras direções também.
O segundo script encontrado no Step event da camera object é ‘scr_MoveZ’.
O codigo dele:

//perform gravity
z+=zspeed;
zspeed-=zgravity;
if z<0 then {z=0;zspeed=0;zgravity=0;}

Isso simplesmente assegurara a velocidade e a gravidade a funcionar e para que o character nao va para baixo do nivel da terra (valor z de 0).

1.6. Trocando/alternando entre rampas e degraus

O codigo no script ‘scr_Ramp’ é esse:

//draw ramp
if stairs=0 then d3d_draw_floor(x-64,y-32,z, x,y+32,z+48,background_get_texture(bac_Ramp),1,1)
else
//draw stairs
{
d3d_draw_block(x,y-32,z, x-64,y+32,z+12,background_get_texture(bac_Ramp),1,1)
d3d_draw_block(x,y-32,z+12, x-48,y+32,z+24,background_get_texture(bac_Ramp),1,1)
d3d_draw_block(x,y-32,z+24, x-32,y+32,z+36,background_get_texture(bac_Ramp),1,1)
d3d_draw_block(x,y-32,z+36, x-16,y+32,z+48,background_get_texture(bac_Ramp),1,1)
}

A primeira linha checa se a variavel stairs é zero. Se for, desenhara a rampa (com o d3d_draw_floor.)
Caso contrário, desenhara uma sucessao de blocos também conhecido como degraus/escada.
A troca entre rampas e degraus é feita pelo Mouse event da rampa object (obj_Ramp). Veja o codigo para trocar a variavel stairs de zero para um e de um para zero (alavanca):

//change into stairs
stairs=abs(stairs)-1;

Note que vc nao precisa de um "if… then… loop" para alavancar o valor de stairs(1 ou 0).
Clicando com o botao direito do mouse, alancara a forma entre uma rampa ou de uma escada.
Esse é o princípio basico do código. Como eu disse: a unica diferença esta no modo olhar,nao no modo de funcionar.
***

O tutorial foi feito por John J.A.H. Weeren,Apenas postei para vocês aprenderem sobre GM

Abraços! ^^
Skay Galaxte
Skay Galaxte
Mensagens : 303
Reputação : 6
Data de inscrição : 03/11/2011
Idade : 22
Masculino
Localização : Casa

Game Maker - Rampas e Degraus Empty Re: Game Maker - Rampas e Degraus

Dom 29 Jan - 20:45:38
muito bom, se eu pudesse daria 10 rings, mais como não posso...
continuando, ficou muito bom vou fazer num game meu

valew pela ajuda migão, até
Sonic Luan
Sonic Luan
Mensagens : 2678
Reputação : 19
Data de inscrição : 06/06/2011
Idade : 24
Masculino
Localização : Casa
https://sonicmaker.forumeiros.com

Game Maker - Rampas e Degraus Empty Re: Game Maker - Rampas e Degraus

Dom 29 Jan - 21:06:41

Nossa Woody! rampa 3D! muito bom, você não fez o tutorial mais mesmo assim vou dar 10 rings. Onde você achou esse tutorial tem outros?
avatar
...
Mensagens : 106
Reputação : 0
Data de inscrição : 26/01/2012
Masculino
Localização : Guaratinguetá - SP

Game Maker - Rampas e Degraus Empty Re: Game Maker - Rampas e Degraus

Dom 29 Jan - 21:22:28
Sonic Luan escreveu:
Nossa Woody! rampa 3D! muito bom, você não fez o tutorial mais mesmo assim vou dar 10 rings. Onde você achou esse tutorial tem outros?

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] Os tutoriais estão aqui,Já os rings,muito obrigado! Até +

Conteúdo patrocinado

Game Maker - Rampas e Degraus Empty Re: Game Maker - Rampas e Degraus

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