Jedna japonská legenda praví, že když nemůžete usnout, jste právě v něčím snu. A protože jsem se po mrtě moc letech zase rozhodl něco málo napsat na blog, a protože jsem si po ještě více létech založil novou rubričku na blogísku, budu psát právě o ní. Rubrička se jmenuje Insomnie.
No, a jak by napsala každá třináctiletá blogerka jako jsem já : „A co v rubrice najdete?“
No, prostě věci co jsem udělal když jsem nespal. Někdy půjde o obrázek, písničku, text a někdy kousek kódu. (Což je tenhle případ.)
Takže… Co že jsem to udělal?
TOHLE (otevře se to v novém okně, tak se nebojte, neopustíte tento skvělý blog) Kolečkem krysy nastavujete intenzitu lijavce.
Tak… A teď k tomu jak jsem to udělal… Musím se totiž pochlubit tím, že je to řešeno nejdebilnějším možným způsobem na jaký jsem spolu s internetem přišel.
Používám tři objekty:
1. obj_rain_generator
2. obj_rain
3. obj_splash
Někteří z vás již jistě tuší proč je to tak strašně blbě. Ale pro ty, kterým je to jedno, sepíšu tutorial.
První – obj_rain generator.
Tam mám ve step eventu toto :
[pastacode lang=“markup“ message=““ highlight=““ provider=“manual“]
///rain generate
edge = 10;
repeat(intensity) {
instance_create(view_xview-edge+random(view_wview+edge*2),
view_yview-edge+random(view_hview+edge*2),
obj_rain) }
[/pastacode]
edge určuje jak daleko za view se má déšť vytvářet a místo intensity si dejte jakékoliv číslo. (silně doporučuji 20 a méně 😀 )
Další je obj_rain.
Ten je…. Složitější.
Create event
[pastacode lang=“markup“ message=““ highlight=““ provider=“manual“]
///set_height
height=20
[/pastacode]
Step event
[pastacode lang=“markup“ message=““ highlight=““ provider=“manual“]
height-=1
if height<=0{
instance_change(obj_splash,false)
}
[/pastacode]
A … draw event
[pastacode lang=“markup“ message=““ highlight=““ provider=“manual“]
//nastavení barviček a ták
draw_set_color(choose(c_ltgray,c_dkgray,c_white));
draw_set_alpha(0.5);
var length; //length of drop
var vectorx, vectory; //distance from middle of screen
//kalkuluj vektory
vectorx = (x-(view_xview+view_wview/2))/(view_wview/2);
vectory = (y-(view_yview+view_hview/2))/(view_hview/2);
length = 1;//length of rain drop
//nakresli chcanek
draw_line_width(x+vectorx*sqr(height) ,y+vectory*sqr(height),
x+vectorx*sqr(height+length),y+vectory*sqr(height+length),2);
//resetuj nastavení kreslení
draw_set_alpha(1);
draw_set_color(c_white);
[/pastacode]
A jako poslední… obj_splash
A v sobě event animation end a v něm ikonku destroy self.
Pokud čekáte vysvětlení kódu, čekáte marně, je to kopírka z netu a tomu vykreslování deště prostě nerozumím. Takže si to zkopírujte a užijte :D.