Bjørn Fjukstad
PhD Student, Institutt for Informatikk
bjorn@cs.uit.no
Denne presentasjonen finner dere på kodeklubben-tromso.github.io/laererkonferanse og koden til alle eksemplene/oppgavene ligger der.
Programmeringsmiljø som gjør det enkelt å bruke kode til å lage tegninger, animasjoner og interaktiv grafikk
Perfekt for å komme i gang med programmering!
processing.org
JavaScript-bibliotek som tar Processing inn i nettleseren.
Lar oss bruke mer enn det vanlige Processing tegnemiljøet
p5js.org/reference har masse gode tips og triks
// ellipse(x, y, bredde, høyde) ellipse(5, 5, 10, 10); // rect(x, y, bredde, høyde) rect(20, 20, 40, 40);
var x = 10; var y = 20; var t = "Hei!" rect(x, y, width/2, height/2); text(t, x, y)
I p5.js bruker vi to funksjoner for å lage programmer. setup kjøres én gang når programmet startes, mens draw kjøres hele tida.
var i = 0; function setup(){ createCanvas(300,300) } function draw(){ background(200) text("Hei " + i, width/2, height/2) i = i + 1 }
function setup(){ createCanvas(600,400) } function draw(){ fill(random(0,255), random(0,255), random(0,255)) ellipse(random(0,500), random(0,500), 10, 10) }
function setup(){ createCanvas(600, 400) } function draw(){ if(mouseIsPressed){ fill(0) stroke(255) } else { fill(255) stroke(0) } ellipse(mouseX, mouseY, 30, 30) }
var mic; function setup(){ createCanvas(600,400) mic = new p5.AudioIn() mic.start(); } function draw(){ background(0); micLevel = mic.getLevel(); ellipse(width/2, constrain(height - micLevel*height*5, 0, height), 30, 30); }
var capture; function setup() { createCanvas(400, 400); capture = createCapture(VIDEO); capture.size(400, 400); capture.hide(); } function draw() { background(255); image(capture, 0, 0, 400, 400); }
var images; function setup(){ createCanvas(400,400) frameRate(0.5) var url = "https://api.instagram.com/v1/locations/" url += "328157028" url += "/media/recent" url += "?client_id=01c16f5b206349839ea20f187d11050f" loadJSON(url, function(data){ images = data.data; }, 'jsonp'); } function draw(){ var img = loadImage( images[i].images.low_resolution.url, function(img){ image(img, 0, 0) }) i = (i + 1) % images.length }
var bug; function setup(){ createCanvas(600,400) bug = new Bug() } function draw(){ background(255, 150, 150) bug.move() bug.display() } function Bug() { this.x = random(width); this.y = random(height); this.diameter = random(10,30) this.speed = 1; } Bug.prototype.move = function(){ this.x += random(-this.speed, this.speed) this.y += random(-this.speed, this.speed) } Bug.prototype.display = function() { ellipse(this.x, this.y, this.diameter, this.diameter) }
7 oppgaver, regner ikke med at dere blir ferdige med alt
Alle oppgavene kommer med litt pre-kode og et løsningsforslag
Dere kan enten bruke et vanlig tekstprogram eller p5js editoren
Oppgavene ligger på kodeklubben-tromso.github.io