Desenvolvimento > Game Maker
Game Maker 3d: Olhe para o céu e pule à vontade
(1/1)
Azrael:
Bem, esse é um tutorial onde vou tentar ensinar algumas coisas a mais para sua engine feita no Game Maker.
Viu o tutorial anterior? Esse aqui depende daquele.
Se não viu, vai lá. >> http://www.gamingroom.net/forum/index.php?topic=3886.0
Já viu? Já fez o que disse por lá? Deu tudo certo como no download que disponibilizei ali? Ou só pegou o editável pronto e está lendo esse aqui?
Bem... Saiba que vamos fazer algumas alterações naquela engine. Vamos lá.
Abra a engine.
crie um background com essa imagem >>https://i.pinimg.com/originals/35/73/ad/3573ada6948ea350e31ace904ec721e0.jpg e o nomeie como back_skydome.
Abra o script "scr_draw_floor_ceiling".
Apague o conteúdo do script e substitua por:
--- Citar ---xpos=obj_player.x
ypos=obj_player.y
zpos=obj_player.z
d3d_set_fog(false,c_black,1,320)
d3d_draw_ellipsoid(xpos-8192,ypos-8192,zpos-8192,xpos+8192,ypos+8192,zpos+8192,textura,1,1,90)
d3d_set_fog(true,c_black,1,320)
d3d_draw_floor(0,0,0,room_width,room_height,0,textura2,25,25)
--- Fim de citação ---
Renomeie o script para "scr_draw_floor_skydome" e salve.
Abra o script "scr_create_floor_ceiling_e1m1".
Apague o conteúdo do script e o substitua por:
--- Citar ---textura=background_get_texture(back_skydome)
textura2=background_get_texture(back_floor_and_ceiling)
--- Fim de citação ---
Renomeie o script para "scr_draw_floor_skydome_e1m1" e salve.
Pode dar play... Notou alguma diferença de agora para antes? Pois é. Agora você tem um céu, enquanto que antes, você tinha apenas o teto fechado.
Agora, vamos aprender a pular:
Crie um script com o nome "script_gravidade_pulo".
Em seu conteúdo coloque:
--- Citar ---z-=gravidade
gravidade+=0.5
if gravidade>=8 then {
gravidade=8}
z+=pulo
if pulo>0 then pulo-=1
if pulo<0 then pulo=0
if gravidade=0.5 then pulo=0
if keyboard_check(vk_space) then {
if gravidade<=0.5 then {
pulo+=12
}
}
if z<=0 then {
z=0
gravidade=0}
--- Fim de citação ---
Abra o script "scr_create_player".
Em seu conteúdo, sem apagar nada, adicione:
--- Citar ---gravidade=0
pulo=0
--- Fim de citação ---
Abra o script "scr_collision_wall".
Ao seu conteúdo já presente, adicione:
--- Citar ---if place_meeting(x,y,obj_player) then {
if obj_player.z <=zmax+0.1 then {
obj_player.gravidade=0
obj_player.z=zmax+0.1
}}
--- Fim de citação ---
Tendo os scripts prontos, abra o obj_player.
Em Step => Adicione o script "scr_gravidade_pulo", sem retirar o outro.
Caso a opção "visible" esteja marcada no obj_player, DESMARQUE.
Dê Ok e salve o projeto.
Pode dar play. Notou alguma coisa? Agora você pula. Pula mais alto que as paredes, aliás. E além de poder fazer isso, você ainda pode parar por cima delas. Esse é o
princípio da colisão 3d.
Entre na room, organize a fase do jeito que quiser e dê play.
Ao final, se você fez tudo certo, terá um resultado semelhante a esse:
4SHARED >>>>> https://www.4shared.com/rar/nUxKtGKjca/Amostra_de_tutorial_2.html
MEGA >>>>> https://mega.nz/#!pVQh3BxZ!9H1hzfTM5B20lAoAS3dD5efcby1rB2zyLpmfknMxfGw
Por enquanto é só... Até a próxima.
Navegação
Ir para versão completa