Por alguma estranha razão,sempre q algo de bom acontece comigo,eu crio um novo tutorial!!
Entao,hj resolvi ensinar aos pequenos gafanhotos,um efeito mto interessante: o efeito de TERREMOTO! Vamos sacudir o GM!! XD
Nome: Efeito de terremoto
Descrição: Neste tuto iremos aprender a "sacudir" a tela de seu jogo usando a variável view_angle,causando um efeito bem interessante!
Nível de dificuldade: Mediano
Requerimentos: GM 7/8 PRO,mas creio q funcione no Lite tbm.
Para começarmos a criar nosso efeito de terremoto,iremos precisar declarar algumas variáveis globais.Caso vc nao tenha algum obj_controle,ou algum similar, crie um,e em seu CREATE,digite:
Código: Selecionar todos
global.TREMOR=0
global.TREMOR2=0
TREMOR Este valor deverá ser sempre mantido como 0. Ele controla o efeito propriamente dito,faz a tela balançar pra um lado,e depois pro outro... Irei explicar melhor
TREMOR2 É a força do tremor! Quanto maior este valor,mais forte será o terremoto!
Usando direito essa variável,facilmente vc pode fazer efeitos reais pra qunado uma pedra cair no chao ou quando uma enorme explosão acontecer!
Lembre-se,aí no CREATE esses valores devem ser mantidos como 0!!
Bem,a explicação deste tuto será de trás para frente. Primeiro,veja o resultado do efeito,depois,entenda como ele foi feito. No STEP deste objeto,digite:
Código: Selecionar todos
if keyboard_check_pressed( alguma tecla )=true
global.TREMOR2=4 ( ou algum outro valor maior do que 0
Código: Selecionar todos
if global.TREMOR=0
{
view_angle-=global.TREMOR2/1.5
if view_angle<-global.TREMOR2
global.TREMOR=1
}
if global.TREMOR=1
{
view_angle+=global.TREMOR2/1.5
if view_angle>global.TREMOR2
global.TREMOR=0
}
if global.TREMOR2>0
global.TREMOR2-=global.TREMOR2/10
else
{
view_angle=0
global.TREMOR=0
}
ATENÇÃO!! Certifique-se de q há algum objeto na tela para notar o tremor,e tbm veja se a view da room está ativada! E entao..teste.
Ahh!! Legal né? xD
Agora,vamos entender como esse efeito foi feito: ( rimo!!! XD )
No momento em q a tecla é pressionada, a variável TREMOR2 fica sendo igual ao valor q está lá. Nesse momento,esta parte do código entra em ação:
Código: Selecionar todos
if global.TREMOR=0
{
view_angle-=global.TREMOR2/1.5
if view_angle<-global.TREMOR2
global.TREMOR=1
}
Código: Selecionar todos
if global.TREMOR=1
{
view_angle+=global.TREMOR2/1.5
if view_angle>global.TREMOR2
global.TREMOR=0
}
Código: Selecionar todos
if global.TREMOR2>0
global.TREMOR2-=global.TREMOR2/10
else
{
view_angle=0
global.TREMOR=0
}
E no momento em q ele chega a 0,o terremoto acaba!
Viram? Uma forma simples de se criar um efeito bem legal e útil para seus jogos! xD
Espero ter ajudado mais alguem por aí... quem sabe?