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