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

[0] Índice de mensagens

Ir para versão completa