JS: Partikkel-animasjon Nybegynner

Like dokumenter
Steg 1: Canvas-elementet

CSS: Animasjon Nybegynner

Steg 1: Animasjons-attributtet

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

HTML: Del inn nettsiden

JS: Trykkomania Nybegynner Web Lærerveiledning

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

I denne oppgaven forventer vi at du har vært gjennom HTML- og CSS-oppgavene så langt og/eller er kjent med <div> - og HTML5-taggene.

CSS: Style nettsider Nybegynner

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Steg 1: Vi starter fra toppen

Løpende strekmann Erfaren Videregående Python PDF

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

JS: Trykkomania. Introduksjon. Skrevet av: Arve Seljebu

Halloweenimasjon Introduksjon Scratch PDF

EKSAMEN / 6101N WebPublisering

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

CSS: Style nettsider. Introduksjon. Skrevet av: Arve Seljebu

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

CSS: Endre utseende og stil på tekst Nybegynner

Sprettende ball Introduksjon Processing PDF

Kanter, kanter, mange mangekanter

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

ITF Eksamensform: Skriftlig (digital) Dato: 28/

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Steg 1: Streken. Steg 2: En hoppende helt. Sjekkliste. Sjekkliste. Introduksjon. Hei der! Hoppehelt

JS: Grunnleggende JavaScript Nybegynner

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Steg 1: Felix har forsvunnet!

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Snøballkrig Ekspert Scratch Lærerveiledning

King Kong Erfaren Scratch PDF

Steg 1: En første animasjon

Verden. Steg 1: Vinduet. Introduksjon

JS: Grunnleggende JavaScript

Stjerner og galakser Nybegynner Python PDF

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Bygge en pyramide. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

CSS-formatering: stilark med kommentarer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Oppsummering - Til nå... (1/ )

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Fyrverkeri Nybegynner Scratch Lærerveiledning

Bursdag i Antarktis Nybegynner Scratch PDF

Gå til Drawing and Animation i Palette-menyen og legg til Canvas og Ball. OBS! Ball må slippes inni Canvas på skjermen for at den skal bli lagt til.

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Oppsummering - Kurset (10/ )

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

"Dette skjer når jeg trykker på denne knappen" "Når jeg skriver i dette feltet, ser jeg at det andre forandrer seg"

Forsvunnet katt webside

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Steg 1: Hente grafikk fra nettet

Tegnespillet. Introduksjon:

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

Snøballkrig. Introduksjon. Steg 1: En snøballkaster. Skrevet av: Geir Arne Hjelle

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

SUKKERGRIS. Anita og Silje DAT100

Steg 1: Opprette spillskjerm

(X)HTML, CSS og JavaScript HTML. Det første dokumentet Grunnleggende programmering i Java Monica Strand 26.

Oblig 1 Erlend Hannestad

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Straffespark Introduksjon Scratch Lærerveiledning

Tell sekunder. Steg 0: Hva er forskjellig fra før? Introduksjon. I denne oppgaven skal vi lage vårt eget spill!

Høgskolen i Telemark EKSAMEN Webpublisering (inkludert denne) Hjelpemiddel: Ingen

Input fra brukeren. Hente tekst fra brukeren. Moduler og program. Modell, meldinger og oppdatering. Skriv ut teksten. Introduksjon

Steg 0: Installere Pygame Zero

Oppgavesamling til Webutvikling < >

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Oppgave 1. Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

PROGRAMMERING AV SPILL

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

HTML: Publiser nettsiden din. Publiser nettsiden din på Internett. Github. Brukernavn.github.io

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Tenk deg at du skal lage figurer av blå og hvite ruter som vist ovenfor.

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

Hvor i All Verden? Del 2 Erfaren Scratch PDF

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

file:///c:/users/michaelp/sites/dkdm/dw5/dreamweaver5_1.html

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

Flagg. Introduksjon. Steg 1: Gå i sirkel. Skrevet av: Sverre Oskar Konestabo og Geir Arne Hjelle

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Mesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch.

Modell, meldinger og oppdatering

HTML-del. 1. <!-- ikke slett min kode, vær så snill --> er a) en HTML stil-tag b) en CSS stil-tag c) en HTML kommentar-tag d) en CSS kommentar-tag

Oppgave 1 (Etter forelesning 31/8) Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Lærerveiledning - Flagg

Transkript:

JS: Partikkel-animasjon Nybegynner Web Introduction I denne oppgaven skal vi bruke JavaScript til å få figurer vi å bevege seg. Vi skal altså lære å animere ved hjelp av JavaScript og noe som heter Canvas. Under ser du animasjonen vi kommer til å lage. Denne oppgaven er den første i en liten serie av andre partikkel -oppgaver, derfor er det viktig å forstå det som skjer i denne oppgaven. I denne oppgaven vil du få bruk for det du har lært i oppgaven Grunnleggende JavaScript. Steg 1: Canvas-elementet I HTML bruker vi <canvas> til å tegne figurer ved hjelp av JavaScript. Selve <canvas> -elementet gjør ikke så stor nytte for seg, så derfor bruker vi JavaScript til å fortelle hva slags grafikk <canvas> -elementet skal inneholde. La oss skrive det som trengs for å jobbe med canvas : Åpne favoritt teksteditoren din Lag en ny HTML-fil som heter partikler.html Kopier koden under inn i partikler.html : <html> <head> <meta charset="utf-8"> <title>partikkel-fest</title> <style> body { background-color:#666; #canvas { background-color:#000; margin-left:100px; </style> </head> <body> <canvas id="canvas" width="500" height="500"></canvas> </body> </html>

Forklaring: Canvas <canvas id="canvas" width="500" height="500"></canvas> er selve Canvas -elementet. Den har en gitt høyde og bredde 500px x 500px. Vi skal bruke JavaScript til å lage andre elementer inne i canvas -elementet. I CSSen er det lagt til en grå bakgrunnsfarge til <body> og sort bakgrunnsfarge til <canvas>. Steg 2: Tegn et objekt Nå som vi vet hvordan canvas ser ut er det på tide å prøve det ut: Sett inn <script> </script> i koden din Lag to tomme variabeler: var canvas; var ctx; Vi skal nå fylle disse variablene når siden vår lastes, da bruker vi noe som heter window.onload : window.onload = function() { canvas = document.getelementbyid("canvas"); ctx = canvas.getcontext("2d"); canvas -variabelen holder nå på HTML-elementet vårt. ctx -variabelen vil være det grafiske elementet som blir lagt til i canvas, dette elementet kan vi manipulere ved hjelp av stil, som vi skal se på snart. For å kunne lage grafikk i canvas er de to linjene over påkrevd, så nå som vi har det på plass kan vi starte å tegne! Nå skal vi lage objekter, så la oss lære litt om hva et objekt er: Forklaring: Objekt La oss nå lage et objekt som skal tegnes. I JavaScript er et objekt en variabel som kan holde på flere verdier eller variabler, som vi ofte kaller for attributter. La oss se på et raskt eksempel med en bil: var bil = { navn: "Volkswagen", modell: "Golf" antallseter: 5, farge: "Blå", ; Vi kan enkelt hente ut informasjonen vi vil ha fra objektet ved å skive følgende: console.log(bil.navn); // Skriver ut navnet på bilen: Volkswagen console.log(bil.farge); // Skriver ut fargen på bilen: Blå For å endre på ett av attributtene gjør vi bare følgende: bil.farge = "Rød"; Nå vil attributtet farge bli endret fra Blå til Rød. På denne måten slipper vi å lage mange variabler, som skal høre til samme element, vi bruker bare objekter.

Lag et objekt som heter particle og som inneholder følgende attributter: x -posisjon, y -posisjon, størrelse og farge Bestem selv en passende verdi for attributtene. Disse kan være lurt å eksperimentere litt med senere i oppgaven. Hint Lag en funksjon som heter draw. Denne skal tegne elementet for oss. I draw skal vi nå legge til hvilke farge vi vil at elementet vårt skal ha, du bestemmer selv hvilken farge: ctx.fillstyle = particle.farge; Nå skal vi tegne et kvadrat (firkant hvor alle sidene er like lange) i fargen vi valgte over: ctx.fillrect(particle.x,particle.y,particle.size,particle.size); Forklaring: ctx.fillrect() ctx.fillrect() tar inn 4 variabler: ctx.fillrect(x-posisjon, y-posisjon, bredde, høyde); Over brukte vi de attributtene vi lagde i objektet particle. I vårt objekt particle har vi satt en x - og y -posisjon, samt en størrelse som vi setter på både bredde og høyde for å få et kvadrat. Lagre og kjør funksjonen draw() når siden lastes. Forslag til koden så langt:

CTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> body { background-color: #666; #canvas { background-color: #000; margin-left: 100px; </style> <script> var canvas; var ctx; var particle = { x: 0, y: 0, size: 10, farge: "red" ; window.onload = function() { canvas = document.getelementbyid("canvas"); ctx = canvas.getcontext("2d"); draw(); ; //Tegner particle function draw() { ctx.fillstyle = particle.farge; ctx.fillrect(particle.x, particle.y,particle.size,particle.size); ; </script> </head> <body> <canvas id="canvas" width="500" height="500"></canvas> </body> </html> Steg 3: Flytt på partikkelet Nå som vi har fått frem en rød firkant, som er partikkelet vårt, så skal vi nå se hvordan vi kan få den til å flytte på seg. For å få dette til å skje må vi legge til noen nye attributter i objektet vårt, og endre disse underveis i funksjonen vår. For å gjøre dette må vi lære å bruke setinterval, men først må vi endre på objektet vårt. I objektet particle, legg til attributtene xspeed og yspeed Sett verdiene til xspeed og yspeed til å være 2 foreløpig I draw må vi nå endre particle sin x -posisjon med xspeed, samme må vi gjøre med y -posisjonen. Måten man øker et attributt på er slik: objekt.attributt1 = objekt.attributt1 + objekt.attributt2;

Legg til det som trengs i draw for å få particle til å endre x - og y -posisjonen sin Hint For at vi skal få en animasjon så må vi kjører draw flere ganger enn bare 1, derfor må vi bruke setinterval for å gjenta draw. Lag en ny variabel som heter drawinterval og ser slik ut: var drawinterval = setinterval(function() { draw();, 30); Forklaring: setinterval setinterval lager en funksjon som skal kjøre hvert X millisekund setinterval(function() { draw();, 30); kjører funksjonen draw() hvert 30 millisekund. NB! 1000 millisekunder er ett sekund Fjern draw(), vi trenger ikke erstatte den med drawinterval fordi denne gjøres automatisk når variabelen blir laget Lagre og kjør siden vi har laget til nå! Som du ser så lager den en lang diagonal stripe. Som du kanskje har skjønt må vi finne en måte vi kan fjerne den forrige vi tegnet slik at vi skaper en illusjon om at den flytter på seg og ikke bare lager mange etter hverandre. I starten av draw må vi bruke ctx.clearrect(0,0,500,500); for å fjerne alt som er innenfor det svarte. Altså fra ( x, y )- posisjonen (0,0) og helt til (500,500). Lagre og kjør på nytt! Gratulere du har laget din første animasjon i JavaScript! Utfordring Prøve å få partikkelet til å gå rett frem Få partikkelet til å gå rett ned Få partikkelet til å gå baklengs Får du til at partikkelet bytter til en tilfeldig farge hver gang den bytter posisjon? Ekssempel på ferdig kode til oppgaven:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style> body { background-color:#666; #canvas { background-color:#000; margin-left:100px; </style> <script> var canvas, ctx; var drawinterval = setinterval(function() { draw();, 30); var particle = { x: 0, y: 0, xspeed: 2, yspeed: 2, size: 10, farge: "red" ; window.onload = function() { canvas = document.getelementbyid("canvas"); ctx = canvas.getcontext("2d"); ; //Tegner og skyter particle opp function draw() { ctx.clearrect(0,0,500,500); ctx.fillstyle = particle.farge; ctx.fillrect(particle.x, particle.y,particle.size,particle.size); particle.x = particle.x + particle.xspeed; particle.y = particle.y + particle.yspeed; </script> </head> <body> <canvas id="canvas" width="500" height="500"></canvas> </body> </html> Lisens: CC BY-SA 4.0