SlideShare a Scribd company logo
1 of 29
Multimedia Technology 2
Lessenreeks door Tom Luyten
voor Communicatie- en Multimedia Design Maastricht

Werkcollege 2

Variabelen

Gebaseerd op het boek “Learning Processing” door Daniel Schiffman
En de PowerPoint van Donald W. Smith
Werkcollege 2: variabelen
Portfolio Open Processing
• Eigen portfolio
• Classroom

Variabelen (p. 45  58)
• Wat is een variabele?
• Declaratie en initialisatie
• Systeemvariabelen
Open Processing Portfolio
- Maak een account aan op: www.openprocessing.org
- Upload je eerste sketch naar je portfolio
- Copy/paste code (gemakkelijk)
- Export/upload
Open Processing Portfolio
Werkcollege 2: variabelen
Portfolio Open Processing
• Eigen portfolio
• Classroom

Variabelen (p. 45  58)
• Wat is een variabele?
• Declaratie en initialisatie
• Systeemvariabelen
Open Processing Classroom
Werkcollege 2: variabelen
Portfolio Open Processing
• Eigen portfolio
• Classroom

Variabelen (p. 45  58)
• Wat is een variabele?
• Declaratie en initialisatie
• Systeemvariabelen
Variabelen
Wat is een variabele?
•

Een variabele is een naam die verwijst naar een locatie in het
geheugen van de computer

•

Ze laten ons toe informatie op te slaan en later weer op te roepen

•

Variabelen kunnen informatie opslaan zoals kleur, grootte, locatie,…
Variabelen
Wat is een variabele?
•

Beeld je een variabele in als een doos.

•

Er zijn verschillende soorten dozen, waar verschillende inhouden
inpassen (bv. Tupperware voor voedsel, kartonnen doos voor papier,…)

•

Op de doos plak je een label met een naam om deze later terug te
vinden.
Variabelen
Wat is een variabele?
De inhoud van zo‟n doos blijft niet hetzelfde, het hele punt van een
variabele is natuurlijk dat deze kan variëren

Tom‟s score

Billy‟s score

10

5

20

15

30

30
Variabelen
Beeld je even het spelletje PONG in.
Welke variabelen zou je nodig hebben om dit spel te programmeren?
Werkcollege 2: variabelen
Portfolio Open Processing
• Eigen portfolio
• Classroom

Variabelen (p. 45  58)
• Wat is een variabele?
• Declaratie en initialisatie
• Systeemvariabelen
Herhaling: declaratie en initiatie
Declaratie
Je declareert een variabele door eerst het type aan te
geven, gevolgd door een naam
•

(je zegt dus wat voor soort doos (één voor gehele getallen) en
geeft aan welke naam ze krijgt (bv. Tom))

•

De naam moet 1 woord zijn, zonder spaties, en moet beginnen met
een letter
Variabelen : declareren
Toekennen van namen
•

Kies steeds een naam met betekenis

•

Let op dat de naam geen systeemvariabele is, deze zijn
gereserveerd (draw, setup,…) (deze krijgen doorgaans een blauwe
kleur)

•

Begin je naam met kleine letter, geef elk nieuw woord een
hoofdletter: nieuweVariabele
Variabelen : typen
Alle primitieve typen variabelen
• boolean

true of false

• char

een karakter, „a‟, „b‟, …

• byte

een klein getal (van -128 tot 127)

• short

een groter getal (van -32768 tot 32767)

• int

een groot getal (van -2147483648 tot 2147483647)

• long

een gigantisch getal

• float

een decimaal getal, 3,5742

• double

een decimaal getal met veel plaatsen achter de
komma

3 zeer belangrijk: boolean, float, int
Variabelen : initiatie
Initiatie
Eens een variabele is gedeclareerd, kunnen we hem initialiseren
(= er een waarde aan toekennen)

int count;
= een doos voor gehele getallen, met de naam “count”

count = 50;
= stop de waarde 50 in de doos “count”

of
int count = 50;
Variabelen
Zonder variabelen
Variabelen
Met variabelen

Resultaat is nu identiek, maar al wel een stuk beter leesbaar.
denk eraan dat een variabele kan variëren, dat is de drijfveer van
interactie.
Variabelen
In het vorige voorbeeld zijn de waarden 200, 200 vervangen door de
variabelen circleX en CircleY.
Dit zijn nu geen hard gecodeerde cijfers meer, maar doosjes, waarvan
de waarde die erin zit kan veranderen.
Wat gebeurt er bij volgende voorbeelden:

•

tel elk frame 1 bij circleX

•

bij een druk op de knop wordt circleY met 50 vermeerderd
Variabelen
10 min.

Maak een sketch aan,
Met een grootte van 300 op 300 pixels en een witte achtergrond.
Waarin een rood vierkant is te zien van 50 pixels diameter,
Aan de linkerkant van het venster
Maak gebruik van variabelen.
Voorbeeld

We willen nu dat de cirkel naar rechts beweegt
- Welke variabelen zijn er aanwezig in het programma?

- Welke waarde van welke variabele moeten we veranderen ?
- Welke verandering moet hij ondergaan ?
- Hoe vaak moet dat gebeuren ?
- circleX = circleX + 1
- circleX++

Hoe kunnen we de cirkel
dubbel zo snel laten
bewegen?
Opdracht

10 min.
Vertaal het vorige voorbeeld zo dat in plaats van dat de cirkel
van links naar rechts beweegt, dat hij in grootte toeneemt.
Werkcollege 2: variabelen
Portfolio Open Processing
• Eigen portfolio
• Classroom

Variabelen (p. 45  58)
• Wat is een variabele?
• Declaratie en initialisatie
• Systeemvariabelen
Herhaling: Systeemvariabelen
Deze namen vermijd je best in het declareren van je eigen variabelen
omdat ze zijn gereserveerd.

width

geeft de breedte van de sketch terug

height

geeft de hoogte van de sketch terug

frameCount

geeft het aantal frames terug dat is verwerkt

frameRate

geeft het aantal frames per seconde terug

screen.width

geeft de breedte van het hele scherm terug

screen.height

geeft de hoogte van het hele scherm terug

Key

geeft de recentst ingedrukte toets terug

keyCode

geeft de numerieke code van laatste toets

keyPressed

geeft true of false terug naar gelang een
toets is ingedrukt

mousePressed

geeft true of false terug naar gelang een
muisknop wordt ingedrukt

mouseButton

geeft left, right of center terug.
Systeemvariabelen
width en height geven de waarden terug die je bij size() aangeeft. Dat wil
zeggen dat als je size(400,300); instelt, dat width 400 is, en height 300.

Hoe kan je deze systeemvariabelen handig gebruiken?
• om een grootte onafhankelijke sketch te maken (als je bv. Niet
weet op welk scherm je software zal terecht komen)
• width/2 en heigth/2 geven je altijd het horizontale en verticale
midden van je sketch terug.

width/2

height/2

width/2, height/2
Systeemvariabelen
10 min.
Teken een programma met een zwarte achtergrond, waar een witte lijn het
venster van boven naar onder in 2 delen verdeelt.
Het mag niet uitmaken hoe groot je sketch is.
Tip: Gebruik hiervoor de systeemvariabelen width, height, width/2 en height/2
Opdracht
Herschrijf je monster/figuur, zodat de hard-gecodeerde waarden
worden vervangen door variabelen.
Pak het zo aan dat je twee variabelen hebt die de positie van je
volledige monster bepalen: monsterX, monsterY. (tip: kijk naar je
vorige schets: mouseX, mouseY)
Stappen:
- Begin door het monster op een vaste plaats te zetten
-

Het monster/figuur beweegt zich naar boven

-

Uitbreiding: Kan je ervoor zorgen dat het monstertje horizontaal de
muis volgt, en verticaal in het midden blijft ? (tip: hier heb je de
systeemvariabele mouseX voor nodig)

Merk op hoe gemakkelijk de positie nu te updaten is

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Processing Werkcollege 2 - variabelen

  • 1. Multimedia Technology 2 Lessenreeks door Tom Luyten voor Communicatie- en Multimedia Design Maastricht Werkcollege 2 Variabelen Gebaseerd op het boek “Learning Processing” door Daniel Schiffman En de PowerPoint van Donald W. Smith
  • 2. Werkcollege 2: variabelen Portfolio Open Processing • Eigen portfolio • Classroom Variabelen (p. 45  58) • Wat is een variabele? • Declaratie en initialisatie • Systeemvariabelen
  • 3. Open Processing Portfolio - Maak een account aan op: www.openprocessing.org - Upload je eerste sketch naar je portfolio - Copy/paste code (gemakkelijk) - Export/upload
  • 5. Werkcollege 2: variabelen Portfolio Open Processing • Eigen portfolio • Classroom Variabelen (p. 45  58) • Wat is een variabele? • Declaratie en initialisatie • Systeemvariabelen
  • 7. Werkcollege 2: variabelen Portfolio Open Processing • Eigen portfolio • Classroom Variabelen (p. 45  58) • Wat is een variabele? • Declaratie en initialisatie • Systeemvariabelen
  • 8. Variabelen Wat is een variabele? • Een variabele is een naam die verwijst naar een locatie in het geheugen van de computer • Ze laten ons toe informatie op te slaan en later weer op te roepen • Variabelen kunnen informatie opslaan zoals kleur, grootte, locatie,…
  • 9. Variabelen Wat is een variabele? • Beeld je een variabele in als een doos. • Er zijn verschillende soorten dozen, waar verschillende inhouden inpassen (bv. Tupperware voor voedsel, kartonnen doos voor papier,…) • Op de doos plak je een label met een naam om deze later terug te vinden.
  • 10. Variabelen Wat is een variabele? De inhoud van zo‟n doos blijft niet hetzelfde, het hele punt van een variabele is natuurlijk dat deze kan variëren Tom‟s score Billy‟s score 10 5 20 15 30 30
  • 11. Variabelen Beeld je even het spelletje PONG in. Welke variabelen zou je nodig hebben om dit spel te programmeren?
  • 12. Werkcollege 2: variabelen Portfolio Open Processing • Eigen portfolio • Classroom Variabelen (p. 45  58) • Wat is een variabele? • Declaratie en initialisatie • Systeemvariabelen
  • 13. Herhaling: declaratie en initiatie Declaratie Je declareert een variabele door eerst het type aan te geven, gevolgd door een naam • (je zegt dus wat voor soort doos (één voor gehele getallen) en geeft aan welke naam ze krijgt (bv. Tom)) • De naam moet 1 woord zijn, zonder spaties, en moet beginnen met een letter
  • 14. Variabelen : declareren Toekennen van namen • Kies steeds een naam met betekenis • Let op dat de naam geen systeemvariabele is, deze zijn gereserveerd (draw, setup,…) (deze krijgen doorgaans een blauwe kleur) • Begin je naam met kleine letter, geef elk nieuw woord een hoofdletter: nieuweVariabele
  • 15. Variabelen : typen Alle primitieve typen variabelen • boolean true of false • char een karakter, „a‟, „b‟, … • byte een klein getal (van -128 tot 127) • short een groter getal (van -32768 tot 32767) • int een groot getal (van -2147483648 tot 2147483647) • long een gigantisch getal • float een decimaal getal, 3,5742 • double een decimaal getal met veel plaatsen achter de komma 3 zeer belangrijk: boolean, float, int
  • 16. Variabelen : initiatie Initiatie Eens een variabele is gedeclareerd, kunnen we hem initialiseren (= er een waarde aan toekennen) int count; = een doos voor gehele getallen, met de naam “count” count = 50; = stop de waarde 50 in de doos “count” of int count = 50;
  • 18. Variabelen Met variabelen Resultaat is nu identiek, maar al wel een stuk beter leesbaar. denk eraan dat een variabele kan variëren, dat is de drijfveer van interactie.
  • 19. Variabelen In het vorige voorbeeld zijn de waarden 200, 200 vervangen door de variabelen circleX en CircleY. Dit zijn nu geen hard gecodeerde cijfers meer, maar doosjes, waarvan de waarde die erin zit kan veranderen. Wat gebeurt er bij volgende voorbeelden: • tel elk frame 1 bij circleX • bij een druk op de knop wordt circleY met 50 vermeerderd
  • 20. Variabelen 10 min. Maak een sketch aan, Met een grootte van 300 op 300 pixels en een witte achtergrond. Waarin een rood vierkant is te zien van 50 pixels diameter, Aan de linkerkant van het venster Maak gebruik van variabelen.
  • 21.
  • 22. Voorbeeld We willen nu dat de cirkel naar rechts beweegt - Welke variabelen zijn er aanwezig in het programma? - Welke waarde van welke variabele moeten we veranderen ? - Welke verandering moet hij ondergaan ? - Hoe vaak moet dat gebeuren ?
  • 23. - circleX = circleX + 1 - circleX++ Hoe kunnen we de cirkel dubbel zo snel laten bewegen?
  • 24. Opdracht 10 min. Vertaal het vorige voorbeeld zo dat in plaats van dat de cirkel van links naar rechts beweegt, dat hij in grootte toeneemt.
  • 25. Werkcollege 2: variabelen Portfolio Open Processing • Eigen portfolio • Classroom Variabelen (p. 45  58) • Wat is een variabele? • Declaratie en initialisatie • Systeemvariabelen
  • 26. Herhaling: Systeemvariabelen Deze namen vermijd je best in het declareren van je eigen variabelen omdat ze zijn gereserveerd. width geeft de breedte van de sketch terug height geeft de hoogte van de sketch terug frameCount geeft het aantal frames terug dat is verwerkt frameRate geeft het aantal frames per seconde terug screen.width geeft de breedte van het hele scherm terug screen.height geeft de hoogte van het hele scherm terug Key geeft de recentst ingedrukte toets terug keyCode geeft de numerieke code van laatste toets keyPressed geeft true of false terug naar gelang een toets is ingedrukt mousePressed geeft true of false terug naar gelang een muisknop wordt ingedrukt mouseButton geeft left, right of center terug.
  • 27. Systeemvariabelen width en height geven de waarden terug die je bij size() aangeeft. Dat wil zeggen dat als je size(400,300); instelt, dat width 400 is, en height 300. Hoe kan je deze systeemvariabelen handig gebruiken? • om een grootte onafhankelijke sketch te maken (als je bv. Niet weet op welk scherm je software zal terecht komen) • width/2 en heigth/2 geven je altijd het horizontale en verticale midden van je sketch terug. width/2 height/2 width/2, height/2
  • 28. Systeemvariabelen 10 min. Teken een programma met een zwarte achtergrond, waar een witte lijn het venster van boven naar onder in 2 delen verdeelt. Het mag niet uitmaken hoe groot je sketch is. Tip: Gebruik hiervoor de systeemvariabelen width, height, width/2 en height/2
  • 29. Opdracht Herschrijf je monster/figuur, zodat de hard-gecodeerde waarden worden vervangen door variabelen. Pak het zo aan dat je twee variabelen hebt die de positie van je volledige monster bepalen: monsterX, monsterY. (tip: kijk naar je vorige schets: mouseX, mouseY) Stappen: - Begin door het monster op een vaste plaats te zetten - Het monster/figuur beweegt zich naar boven - Uitbreiding: Kan je ervoor zorgen dat het monstertje horizontaal de muis volgt, en verticaal in het midden blijft ? (tip: hier heb je de systeemvariabele mouseX voor nodig) Merk op hoe gemakkelijk de positie nu te updaten is