Du har allerede lært at
definere og bruge dine egne variable.
Nu skal vi lære om to specielle variable:
mouseX og mouseY.
Du behøver ikke selv at
definere disse to variable,
og faktisk skal du aldrig gøre det,
for de eksisterer allerede.
Ser du, programmet sætter automatisk
værdien af disse variable i baggrunden,
og sørger for at værdien af mouseX
er altid x positionen af din musemarkør,
og at værdien af mouseY
er altid y positionen af din musemarkør.
Det gør det rigtig nemt at lave
seje, interaktive ting
baseret på musen's position.
Lad os se på den ellipse
jeg tegner her.
Lige nu, tegner jeg den
altid ved 200, 200.
Hvis jeg bruger mouseX og mouseY,
disse specielle variable,
så kan jeg faktisk tegne den
ved mouseX og mouseY.
Hvis jeg så nu forsøger at bevæge musen
over tegneområdet, kan du se
at ellipsen altid bliver tegnet hvor
min musemarkør er --
så den følger min muse rundt.
Det er ret sejt; kan du se
hvad jeg tegner? Juhuuu!
Hvis du bruger mouseX og mouseY,
skal du sørge for at
du bruger dem inde i
draw-funktionen
for se hvad der sker
hvis vi flytter disse to linjer kode
uden for draw = function ().
Kan du se?
Nu vil koden her kun blive kørt én gang,
så den her ellipse bliver kun tegnet en gang,
og den bliver tegnet der hvor musen
nu lige var
helt, helt i starten af programmet
Det er derfor vi bliver nødt til
bruge dem inde i draw = function ().
fordi draw = function ()
er den funktion
der bliver kaldt igen og igen
mens vores program kører.
Så vi vil have at når den bliver kaldt,
så ser den på den nuværende værdi
af mouseX og mouseY, og derefter
tegnet den ellipsen på den position.
Hvis du tænker over det, så
er det lidt ligesom en animation --
det ændrer sig over tid,
bare på en anden måde.
Okay, nu kan vi gøre alle mulige sjove ting.
Hvad hvis, i stedet for at tegne den
ved mouseX og mouseY,
så tegne vi den stadig ved mouseX,
men holdt mouseY fast ved 300?
Nu kan du se at ellipsen
kun følger mit x koordinat,
og ignorer hvad jeg gør i y-retningen.
Hvad nu hvis jeg går tilbage, og
tegner ved mouseX og mouseY*,
men fjerner baggrunden,
bare ved at udkommentere det?
Woo! Se nu, jeg har fået en funky malerpensel!
Det er ret sejt.
Eller, jeg kunne endda ændre
disse variable.
Lad os få baggrunden tilbage.
Jeg ændrer de variable her,
mouseX og mouseY,
og ser hvad der sker.
Nu føles det hele rigtig, rigtig mærkeligt.
Jeg kan styre med musen,
men der sker det modsatte
af hvad jeg forventer den gør.
Men det er sejt, du kunne måske forestille
dig et helt spil
der handler om at tegne noget
eller gøre noget
mens man bruger inverteret musestyring
Det var alt om mouseX og mouseY --
faktisk ret sjovt. Hav det godt!