Modul 1
En app laver ingenting af sig selv. Den venter på, at nogen gør noget.
En knap. Når man trykker på den, skifter teksten under den.
Gå til studio.code.org/projects/applab og log ind. Der er to faner:
I Kode-fanen ligger værktøjskassen til venstre. Blokkene er sorteret i otte farvede kategorier. Led efter farven først, så er der kun en håndfuld blokke tilbage at kigge igennem.
Opret projektet
Klik Opret nyt projekt og kald det MinFørsteApp.
Design-fanen: læg en knap og en label ind
Træk en Button ind på skærmen. I panelet til højre sætter du
dens id til knap1 og teksten til Klik mig!
Træk så en Label ind under knappen. Sæt dens id til
label1 og teksten til Der er ikke sket noget endnu.
Id'et er elementets navn, og det er den vej, koden får fat i det.
Kode-fanen: find onEvent
Skift til Kode. Klik på UI controls i værktøjskassen, den gule. onEvent("id", "type", …) ligger øverst. Træk den ud i arbejdsområdet.
Nu står der noget der ligner det her:
Udfyld de to huller
Klik på det første hul og skriv knap1. Klik på det andet, og
der kommer en menu frem, fordi hullet har en lille trekant. Vælg
click.
Trekanten ▾ betyder, at hullet er en menu. Klik og vælg. Du skal ikke skrive.
Læg setText ind i onEvent
Find setText("id", "text"); længere nede i UI controls. Træk den ind i mellemrummet inde i onEvent, så den ligger op ad den grønne skinne. Lægger den sig under hele onEvent-blokken, er den havnet forkert. Træk den ud og prøv igen.
Udfyld: label1 og Du klikkede på knappen!
Kør
Klik Kør og tryk på knappen. Teksten skifter.
En computer gør præcis det, den får besked på, i den rækkefølge beskederne kommer. Et programmeringssprog er det sprog, beskederne skrives i.
Blokkene i App Lab er et programmeringssprog. Det hedder JavaScript. Klikker du på Vis tekst i toppen af Kode-fanen, forsvinder farverne, og de samme ord står tilbage. Blokkene er en hjælp til at skrive dem rigtigt.
Blokke, der ligger under hinanden, kører i rækkefølge. Her sættes teksten først, og derefter skifter baggrunden:
Når du klikker Kør, sker der ingenting. Appen ligger og lytter, og den rører sig ikke, før du trykker på knappen.
Klikket hedder en event, på dansk en hændelse. Den grønne function, der tager imod klikket, hedder en event handler. Det engelske handler betyder "den, der håndterer noget", og har ikke noget med det danske handler at gøre. onEvent("id", "type", …) binder de to sammen: den holder øje med hændelsen og kalder handleren, når den sker.
Tænk på en dørklokke. Trykket på knappen er hændelsen. Mekanismen inde i væggen, der tager imod trykket og sætter klokken i gang, er handleren. At det ringer, er det, handleren gør.
Se på blokken igen:
Den gule onEvent("id", "type", …) har tre huller. De to første er små: hvilket element og hvilken slags handling. I det tredje skal selve koden ligge, og kode, der gemmes til senere, pakkes altid ind i en grøn function. Den er for stor til et hul, så den hænger bag på den gule blok i stedet.
Nederst står der });. Krøllen lukker den grønne function,
parentesen lukker den gule onEvent. Du skal ikke selv skrive den.
Kommentarer. Den grå blok // Comment under Functions bliver sprunget over af computeren. Brug den til at skrive, hvad et stykke kode er godt for.
Opgave
Byg en app med tre knapper (Godt, Sådan da, Skidt) og én label. Hver knap skriver sin egen besked i labelen.
Du får tre stakke, der ligger ved siden af hinanden i arbejdsområdet. Hver venter på sin egen knap.
Udfordring
Få også baggrundsfarven til at skifte. Brug
setProperty("id", "property", value);, sæt første hul til
screen1, vælg background-color i menuen, og skriv en farve
som "lightgreen" i det sidste hul.
Det her skal du kunne forklare med dine egne ord:
Byggeklods: tag den med videre
Den her form kommer igen i alle ti moduler.