Onde as mentes criativas se encontram!


 
Cambalinho
Membro
Membro
Autor
Mensagens: 57
Registrado em: Qui Jul 20, 2017 9:59 am

GML: como posso fazer o efeito da chuva?

Qua Out 04, 2017 4:19 pm

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)
 
Avatar do usuário
Mega
Membro
Membro
Mensagens: 41
Registrado em: Dom Mai 22, 2016 6:20 pm

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

Sex Out 06, 2017 9:19 am

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/
 
Avatar do usuário
Isquilo_Roedor
Novato
Novato
Mensagens: 19
Registrado em: Sáb Ago 22, 2015 7:05 pm
Localização: Paraná, Brasil

Contato:

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

Dom Out 08, 2017 10:00 pm

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
 
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.

draw_sprite(spr_chuva,image_index,variavel_x,variavel_y);


E então no create pode por:

variavel_x=0
variavel_y=0


E no step:

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.

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante