- Wonders Chaser Neo
- Mensagens : 234
Reputação : 2
Data de inscrição : 04/07/2011
Idade : 28
Localização : Em qualquer lugar que você procurar com atenção...
Tutorial - Movimentos Automaticos (sem engines)
Sex 8 Jul - 18:12:07
Esse tutorial mostra basicamente uma coisa que fiz em um jogo que estou produzindo. Deveria ser feito pro concurço de férias, mas resolvi fazer outro. Esse é um bom tutorial se você acha que á jogabilidade do Sonic 2D já chegou no limite da mesmisse, que é pouco provavel e não é a minha opinião, mas pode ser legal em termos de criatividade. Tambem é possivel usar esse tutorial pra outros jogos (como os de corrida).
1 - Você deve criar 4 sprites para o Sonic: Um sonic correndo; um sonic em boost (mas o DashAtak de Sonic 3 já cai muito bem); um Sonic andando; um sonic pulando. Chame as sprites como quiser. Eu mesmo as identifico pela imagem. Mas para melhor compreenção, vou das á primeira o nome de "spr_sonic.c", á segunda "spr_sonic.b", á terceira "spr_sonic.a" e á quarta "spr_sonic.p". Lembre-se de criar primeiro a que ocupe mais espaço e usa-la como esqueleto para as outras. As vezes o espasso ocumado por algumas sprites diferem e o game make sempre coloca elas no canto superior esquerdo. Todas devem ter um quadro (aquele quadrado que limita a sprite) igual)
2 - crie apenas um "obj_sonic" (ou qualquer nome que você ache melhor) e coloque como primeira sprite a "spr_sonic.c". Nesse tipo de jogo Sonic nunca para, então não se preocupem com uma sprite dele parado. Em seguida crie um objeto para usar como plataforma. Chamemos de "obj_plat". O "obj_sonic" terá que receber todas as funções a partir daqui.
3 - Adicione ao seu "obj_sonic" os eventos: Create - step - colision_obj_plat - <Space> - Press <right> - Press <left> - release <right> - release <left>
OBS: Garanta que está tudo na mesma ordem que aqui.
Em seguida, adicione ao evento Create: Set hotizontal speed: 17 - Set var. (variavel): mudar_spr_1=1 (para a sprite de Sonic pulando) - Set var.: mudar_spr_2=1 (para o as velocidades de Sonic). Se não souber lidar direito com variaveis, vá no site oficial do game maker e pegue um tutorial sobre "Scooling Games". [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Depois no evento step: COMMENT: Check whether in the air - Check empty: (0,0) relative - set gravit=2/direction: 270 - else - set gravit=0/direction: 0 - COMMENT: Limt the vertical speed - Check variabal vspeed=12 - Set vertical speed=12.
Essa parte é apenas para a gravidade.
Agora o evento colision_obj_plat: move to contact / direction:direction / maximun=12 - set vertical speed=0 - check variabal: mudar_1/ if equal to 0 - start a block - change sprite into: obj_sonic.c - set variabal: mudar_1/ to 0 (não marque o relative!) - close block
O próximo é o evento <Space>: check colision (0,12) relative - start a block -set vertical speed:-22 - (se quiser, adicione um som para o salto e colóque-o aqui como loop false) - Check variabal: mudar_1/ if equal to 1 - start a block - Change sprite into: spr_sonic.p - set variabal: mudar_1 to 0 - end block - set variabal: mudar_2 to 0.
Agora, para o press <left>: set hspeed to: 13 - check variabal: mudar_2/ if equal to 1 - start a block - change sprite into: spr_sonic.a - set variabal: mudar_2 to 0 - end block - else - check variabal: mudar_2/ if equal to 2 - (a mesma coisa que o bloco anterior)
Para o press <right> basta trocar a sprite pela spr_sonic.b e a velocidade horisontal por 21.
Em release <left> e em release <right>: set the horizontal speed: 17 - check empty (0,12) - set variabal: mudar_2: equal to 2 - check variabal: mudar_2: if equal to 0 - start a block - change sprite into spr_sonic.c - set variabal: mudar_2 equal to 2 - end block.
Se quiser, adicione efeitos sonoros de queda, freio e boost para cada ação.
Façam alguns testes, pois rodei só algumas vezes esse negócio e ainda podem ter alguns bugs.
LEGENDA: SPRITES/ACTIONS/PARENTESES/EVENTOS/OBSERVAÇÕES.
Bom divertimento.
Wanderlei Corrêa ganha + $15 pelo tutorial
1 - Você deve criar 4 sprites para o Sonic: Um sonic correndo; um sonic em boost (mas o DashAtak de Sonic 3 já cai muito bem); um Sonic andando; um sonic pulando. Chame as sprites como quiser. Eu mesmo as identifico pela imagem. Mas para melhor compreenção, vou das á primeira o nome de "spr_sonic.c", á segunda "spr_sonic.b", á terceira "spr_sonic.a" e á quarta "spr_sonic.p". Lembre-se de criar primeiro a que ocupe mais espaço e usa-la como esqueleto para as outras. As vezes o espasso ocumado por algumas sprites diferem e o game make sempre coloca elas no canto superior esquerdo. Todas devem ter um quadro (aquele quadrado que limita a sprite) igual)
2 - crie apenas um "obj_sonic" (ou qualquer nome que você ache melhor) e coloque como primeira sprite a "spr_sonic.c". Nesse tipo de jogo Sonic nunca para, então não se preocupem com uma sprite dele parado. Em seguida crie um objeto para usar como plataforma. Chamemos de "obj_plat". O "obj_sonic" terá que receber todas as funções a partir daqui.
3 - Adicione ao seu "obj_sonic" os eventos: Create - step - colision_obj_plat - <Space> - Press <right> - Press <left> - release <right> - release <left>
OBS: Garanta que está tudo na mesma ordem que aqui.
Em seguida, adicione ao evento Create: Set hotizontal speed: 17 - Set var. (variavel): mudar_spr_1=1 (para a sprite de Sonic pulando) - Set var.: mudar_spr_2=1 (para o as velocidades de Sonic). Se não souber lidar direito com variaveis, vá no site oficial do game maker e pegue um tutorial sobre "Scooling Games". [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Depois no evento step: COMMENT: Check whether in the air - Check empty: (0,0) relative - set gravit=2/direction: 270 - else - set gravit=0/direction: 0 - COMMENT: Limt the vertical speed - Check variabal vspeed=12 - Set vertical speed=12.
Essa parte é apenas para a gravidade.
Agora o evento colision_obj_plat: move to contact / direction:direction / maximun=12 - set vertical speed=0 - check variabal: mudar_1/ if equal to 0 - start a block - change sprite into: obj_sonic.c - set variabal: mudar_1/ to 0 (não marque o relative!) - close block
O próximo é o evento <Space>: check colision (0,12) relative - start a block -set vertical speed:-22 - (se quiser, adicione um som para o salto e colóque-o aqui como loop false) - Check variabal: mudar_1/ if equal to 1 - start a block - Change sprite into: spr_sonic.p - set variabal: mudar_1 to 0 - end block - set variabal: mudar_2 to 0.
Agora, para o press <left>: set hspeed to: 13 - check variabal: mudar_2/ if equal to 1 - start a block - change sprite into: spr_sonic.a - set variabal: mudar_2 to 0 - end block - else - check variabal: mudar_2/ if equal to 2 - (a mesma coisa que o bloco anterior)
Para o press <right> basta trocar a sprite pela spr_sonic.b e a velocidade horisontal por 21.
Em release <left> e em release <right>: set the horizontal speed: 17 - check empty (0,12) - set variabal: mudar_2: equal to 2 - check variabal: mudar_2: if equal to 0 - start a block - change sprite into spr_sonic.c - set variabal: mudar_2 equal to 2 - end block.
Se quiser, adicione efeitos sonoros de queda, freio e boost para cada ação.
Façam alguns testes, pois rodei só algumas vezes esse negócio e ainda podem ter alguns bugs.
LEGENDA: SPRITES/ACTIONS/PARENTESES/EVENTOS/OBSERVAÇÕES.
Bom divertimento.
Wanderlei Corrêa ganha + $15 pelo tutorial
Re: Tutorial - Movimentos Automaticos (sem engines)
Sex 8 Jul - 18:32:50
muito bom vai ajudar bastante gente!
Permissões neste sub-fórum
Não podes responder a tópicos