Página 1 de 1

GML: como posso fazer o efeito da chuva?

Enviado: Qua Out 04, 2017 4:19 pm
por Cambalinho
eu estou a tentar criar o efeito da chuva. se for com objectos eu consigo obter resultados, mas usa muito CPU. por isso estou a tentar usar o Draw para desenhar 1 linha.
eu consegui o efeito, mas não estou a conseguir em todo view :(
alguem pode me explicar a melhor forma de fazer chuva?
(sim temos as particulas, mas o meu objectivo é para actualizar para 3D)

Re: GML: como posso fazer o efeito da chuva?

Enviado: Sex Out 06, 2017 9:19 am
por ValdeciVieira
Há algum tempo encontrei esse site tem engines 3d que vc pode precisar
Tem engine da chuva mas eu não verifiquei todas as engines só as que necessitei
http://martincrownover.com/gamemaker-examples-tutorials/

Re: GML: como posso fazer o efeito da chuva?

Enviado: Dom Out 08, 2017 10:00 pm
por Isquilo_Roedor
Primeiro esclareça como seu jogo é tipo plataforma ou top down, imagino que seja de plataforma, os objetos são pesados sim já que são vários a todo momento, depende da complexidade que você quer que este sistema tenha, se for algo básico só com aqueles riscos de chuva é bem simples com o draw_sprite onde você seta uma posição x e y para um sprite estar, primeiramente entenda o seguinte este obj_draw precisa ficar na frente dos outros por isso use um depth menor que os objetos atuais como por exemplo o obj_player, você pode fazer de forma bem simples com sprites
 

Código: Selecionar todos

draw_sprite(spr_chuva,image_index,x,y);
Aqui vai desenhar um sprite de chuva na posiçao x e y, entao pra ordenar a posiçao que a chuva deve se mover você poderia usar variaveis pra definir o x e y de forma que y aumente e x também se quiser efeito diagonal desse forma.

Código: Selecionar todos

draw_sprite(spr_chuva,image_index,variavel_x,variavel_y);
E então no create pode por:

Código: Selecionar todos

variavel_x=0
variavel_y=0
E no step:

Código: Selecionar todos

If (chuva=true){
variavel_x+=0.1
variavel_y+=1
}
if (variavel_y=500){
variavel_y=0;
variavel_x=0;
}
Ai a sprite vai se mexer simulando estar caindo e quando chegar na posição 500 que é algo que você deve definir de acordo com a sua room ou método de visualização que estiver utilizando ele vai recomeçar, ou seja um pingo de chuva cai e qnd bate no chão se teleporta pro céu de novo e cai de novo, ai você usa vários draws pra fazer vários pingos e em posições diferentes para a chuva nunca parar.