2 ο Εργαστήριο Αλληλεπίδραση και Animation

Σχετικά έγγραφα
4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

1 ο Εργαστήριο Συντεταγμένες, Χρώματα, Σχήματα

3 ο Εργαστήριο Μεταβλητές, Τελεστές

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

5 ο Εργαστήριο Δομές Επανάληψης (συνέχεια)

Βασικές Εντολές MicroWorlds Pro.

6 ο Εργαστήριο Σχεδιάζοντας σχήματα από σημεία κορυφών, Θόρυβος-Τυχαίοι Αριθμοί (συνέχεια)

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

Προγραμματισμός με Logo στο MicroWorlds Pro

αντίστοιχο γεγονός. Όταν όντως το κουμπί

ΣΗΜΕΙΩΣΕΙΣ. στη γλώσσα προγραμματισμού. Γκέτσιος Βασίλειος

Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος.

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

του προγράμματος diagrama_rohs.zip )

Γ ΓΥΜΝΑΣΙΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΗ ΓΛΩΣΣΑ MicroWorlds Pro

Ο παρακάτω πίνακας τιμών θα βοηθήσει να γίνει πιο κατανοητή η λειτουργία των εντολών της συγκεκριμένης άσκησης. Α/Α Εντολές Μνήμη (Μεταβλητή α) Οθόνη

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Εντολές κίνησης και στροφής στο προγραμματιστικό περιβάλλον Scratch. ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

Περιεχόμενα ΓΕΩΠΥΛΗ ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΚΕΝΤΡΙΚΟ SITE. ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»...

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

Ποιές εντολές του Scratch πρέπει να ξέρω;

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: SCRATCH. Ονοματεπώνυμο:

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Κεφάλαιο 1.Εντολές κίνησης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗ I. 3o ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑ ΜΕ ΤΟ WORD

Αγώνες αυτοκινήτου Παιχνίδι για 2 παίκτες

Οδηγίες για το CABRI - GEOMETRY II Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας

Οδηγίες για το Geogebra Μωυσιάδης Πολυχρόνης Δόρτσιος Κώστας

Παιχνιδάκια με τη LOGO

ΒΑΣΙΚΕΣ ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΧΕΛΩΝΟΚΟΣΜΟΥ ΣΤΟ ΑΒΑΚΙΟ E-SLATE ΠΟΙΕΣ ΨΗΦΙΔΕΣ ΠΡΕΠΕΙ ΝΑ ΕΜΦΑΝΙΣΟΥΜΕ

Πώς μπορούμε να δημιουργούμε γεωμετρικά σχέδια με τη Logo;

Εφαρμογή δημιουργίας σεναρίων Sctatch

Τα αλφαριθμητικά αποτελούνται από γράμματα, λέξεις ή άλλους χαρακτήρες (π.χ. μήλο, Ιούλιος 2009, You win!).

(ΕΙΝΑΙ ΕΝΤΟΛΗ ΕΞΟΔΟΥ)

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΔΟΜΕΣ. Γενική μορφή της επανάληψης επανάλαβε φορές [... ενέργειες...]

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους.

01. Σχεδίαση με ΗΥ. Dr. Ing. Β. Ιακωβάκης

Ο χώρος όπου βρίσκονται οι εντολές (πλακίδια) με τις οποίες δημιουργούμε τα προγράμματά μας

Ο Προγραμματισμός στην Πράξη

Γ-ΓΥΜΝΑΣΙΟΥ (1) ΣΕΛ 1 / 6

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Σχετική κίνηση αντικειμένων

Μάθημα 8 ο Η εντολή ανδιαφορετικά

Ο Οδηγός γρήγορης εκκίνησης

Κεφάλαιο 6: Ζωγραφική

Αλλαγή απόδοσης επιφάνειας

Η εντολή «επανέλαβε Χ»

( Απάντηση: Ο τόνος βρίσκεται δεξιά από το γράμμα Λ. ) ( Απάντηση: Κρατάμε πατημένο το πλήκτρο Shift και πατάμε το πλήκτρο 8. )

Σχεδίαση με το AutoCAD

Κεφάλαιο 1: Κίνηση και γεωμετρικά σχήματα

Φώτα - Εκτύπωση Αποθήκευση εικόνας

Καροτοκυνηγός. Αντικείμενα

Microsoft PowerPoint 2007

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης. 1. Κατανόηση Και Αλλαγή Μεταξύ Προβολών Εμφάνισης Της Παρουσίασης

Σημειώσεις στο PowerPoint

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Εισαγωγή στην επανάληψη

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Η Δραστηριότητα 1 του Φύλλου Εργασίας 1 έχει ως στόχο την εξοικείωση με το περιβάλλον του scratch και πιο συγκεκριμένα με τις μορφές και τα σκηνικά.

Παρατηρώντας την κίνηση των παιδιών Πλοήγηση

Εγχειρίδιο Χρήσης Draw for Children. Περιεχόμενα

Το φτερό του αεροπλάνου

4 3 Απόκρυψη /Εμφάνιση

Ένα διαδικτυακό εργαλείο δημιουργίας παρουσιάσεων

ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΚΑΙ ΓΡΗΓΟΡΗΣ ΕΚΚΙΝΗΣΗΣ

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω:

Γεωργάκης Αριστείδης ΠΕ20

8 ο Εργαστήριο Ευθυγράμμιση σε πλέγμα

Ενότητα 5: ΜΕΤΑΒΛΗΤΕΣ

6. Στερεοσκοπική Απόδοση

SMART Ink. Λογισμικό λειτ ουργικού συστ ήματ ος Mac OS X. Οδηγός χρήστ η

Ορισμός του χρώματος όρισε το χρώμα πένας σε [06_π03.sb] άλλαξε χρώμα πένας κατά. άλλαξε χρώμα πένας κατά άλλαξε χρώμα πένας κατά [06_π04.

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εισαγωγή στην επανάληψη

α) Πώς παίρνουμε αποφάσεις στην καθημερινή μας ζωή; Συμπληρώσετε τον παρακάτω πίνακα: τότε

Τσαουσάκης Σταύρος ΠΕ70 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3

Offset Link.

Το διαστημόπλοιο. Γνωστικό Αντικείμενο: Φυσική (Δυναμική σε μία διάσταση - Δυναμική στο επίπεδο) Τάξη: Α Λυκείου

Το περιβάλλον προγραμματισμού MicroWorlds Pro

Η Περιοχή Εργασίας του Flash

ΕΡΩΤΗΣΕΙΣ στην επεξεργασία κειμένου (Word)

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Τα Windows Πολύ Απλά και Πολύ Σύντομα

αιδευτι κό υλικό Γιώργος Καινουργιάκης Ιούνιος 2009

Οδηγίες για το SKETCHPAD Μωυσιάδης Πολυχρόνης - Δόρτσιος Κώστας. Με την εκτέλεση του Sketchpad παίρνουμε το παρακάτω παράθυρο σχεδίασης:

Transcript:

2 ο Εργαστήριο Αλληλεπίδραση και Animation Τα προγράμματα που έχουμε δει μέχρι τώρα εκτελούν τον κώδικά τους μία φορά και το πρόγραμμα σταματάει. Ένα πρόγραμμα που δημιουργεί animation ή ανταποκρίνεται σε γεγονότα (από το ποντίκι ή το πληκτρολόγιο) πρέπει να τρέχει συνεχώς. Για να έχουμε ένα πρόγραμμα που τρέχει και σχεδιάζει στην οθόνη συνεχώς πρέπει να έχουμε δύο συναρτήσεις: την draw() και την setup(). Τις συναρτήσεις θα τις αναλύσουμε περισσότερο σε επόμενα μαθήματα. Προς το παρόν μια συνάρτηση θα την καταλαβαίνουμε ως μια ενότητα που περιέχει κάποιες γραμμές κώδικα. Ένα πρόγραμμα στην Processing μπορεί να έχει μόνο μια συνάρτηση draw() και μία μόνο setup(). Ο κώδικας των προγραμμάτων που θα γράψουμε στη συνέχεια θα χωρίζονται σε δύο ενότητες: τις γραμμές κώδικα που είναι στην setup() και τις γραμμές κώδικα που είναι στην draw() Πως γράφουμε τις συναρτήσεις setup() και draw() Τα άγκιστρα {}, καθορίζουν την αρχή και το τέλος μιας ενότητας κώδικα. Προς το παρόν το void και τις παρενθέσεις () που ανοίγουν και κλείνουν αμέσως μετά το όνομα της συνάρτησης θα τα δεχτούμε ως σύνταξη χωρίς να τα εξηγήσουμε περισσότερο. Ροή Προγράμματος με setup() και draw() Πρώτα εκτελούνται οι εντολές που είναι μέσα στην setup() και στη συνέχεια εκτελούνται οι εντολές που είναι μέσα στην draw(). Η σημαντική διαφορά μεταξύ των δύο συναρτήσεων είναι ότι: οι εντολές της setup() εκτελούνται μία μόνο φορά. οι εντολές της draw() εκτελούνται συνεχώς. προγράμματος. Όταν εκτελεστεί και η τελευταία εντολή της draw() τότε θα επιστρέψει η ροή του προγράμματος στην πρώτη εντολή της draw() και θα επαναλάβει την εκτέλεση όλων των εντολών της. Η επανάληψη αυτή θα συνεχίζεται έως ότου τερματίσουμε την εκτέλεση του 1

Άσκηση 1 Γράψτε τον παρακάτω κώδικα και αφού εκτελέσετε το πρόγραμμα. void setup() { size(200,200); } void draw(){ background(255); } stroke(0); fill(175); rectmode(center); rect(50,50,50,50); Γιατί δεν βλέπουμε κάποια κίνηση κατά την εκτέλεση του προγράμματος αφού έχουμε γράψει κάποιες εντολές στην draw(); Οι συντεταγμένες της θέσης του δείκτη του ποντικιού Οι λέξεις mousex και mousey προσδιορίζουν στην Processing τις συντεταγμένες x και y αντίστοιχα της θέσης του δείκτη του ποντικιού. Γράψτε την rect() στο προηγούμενο πρόγραμμα με χρήση των συντεταγμένων της θέσης του δείκτη του ποντικιού ως εξής: rect(mousex, mousey, 50, 50); Τώρα θα βλέπετε ότι το τετράγωνο μετακινείται ανάλογα με την κίνηση του ποντικιού. Αυτό συμβαίνει διότι κάθε φορά που επαναλαμβάνεται η εκτέλεση των εντολών της draw() σχεδιάζεται ένα νέο τετράγωνο όπου η θέση του καθορίζεται από την τρέχουσα θέση του δείκτη του ποντικιού. Άσκηση 2 Μετακινήστε την εντολή background(255); στην setup() και εξηγήστε γιατί με αυτή την αλλαγή θα βλέπουμε ένα μονοπάτι από τετράγωνα. 2

Άσκηση 3 Γράψτε το παρακάτω πρόγραμμα για την σχεδίαση του Zoog, όπου η θέση του σώματός του και το κεφάλι του σχεδιάζονται σχετικά με τη θέση του δείκτη του ποντικιού. Άσκηση 4 Τροποποιήστε τις εντολές για την σχεδίαση των ματιών και των ποδιών του Zoog ώστε να μετακινούνται μαζί με το σώμα και το κεφάλι του. 3

Οι συντεταγμένες της προηγούμενης θέσης του δείκτη του ποντικιού Οι λέξεις κλειδιά pmousex και pmousey αναφέρονται στην προηγούμενη θέση του δείκτη του ποντικιού. Το p είναι από την λέξη previous (=προηγούμενη). Η προηγούμενη θέση αναφέρεται στην προηγούμενη εκτέλεση της draw(). Η γνώση της προηγούμενης θέσης μπορεί να μας δώσει ενδιαφέρουσες δυνατότητες αλληλεπίδρασης. Για παράδειγμα, μπορούμε να σχεδιάζουμε γραμμές από την προηγούμενη θέση του ποντικιού στην τρέχουσα. Άσκηση 5 Σχεδίαση συνεχούς γραμμής Υπολογισμός της ταχύτητας με την οποία ο χρήστης μετακινεί το ποντίκι Η ταχύτητα με την οποία μετακινεί ο χρήστης το ποντίκι μπορεί να υπολογιστεί ως το πόσο μεταβλήθηκε η συντεταγμένη Χ από την προηγούμενη θέση του ποντικιού. Φυσικά θα μπορούσαμε να χρησιμοποιήσουμε την μεταβολή της συντεταγμένης Υ, γι αυτό το παράδειγμα όμως θα χρησιμοποιήσουμε την συντεταγμένη Χ. Συνεπώς, αν βρούμε τη διαφορά της τρέχουσας συντεταγμένης Χ με την προηγούμενη συντεταγμένη Χ, τότε έχουμε την ταχύτητα με την οποία μετακίνησε ο χρήστης το ποντίκι του. Επειδή, ο υπολογισμός της διαφοράς αυτής μπορεί να μας δώσει θετικό ή αρνητικό αποτέλεσμα ανάλογα με το αν η μετακίνηση έγινε προς τα αριστερά ή δεξιά, για τον υπολογισμό της ταχύτητας θα χρησιμοποιήσουμε την απόλυτη τιμή της διαφορά. Π.χ. η απόλυτη τιμή του -2 είναι 2, και η απόλυτη τιμή του 2 είναι 2. Στην Processing την απόλυτη τιμή μπορούμε να την υπολογίσουμε με τη συνάρτηση abs(). Συνεπώς, την ταχύτητα μετακίνησης του ποντικιού μπορούμε να την υπολογίσουμε ως abs(mousex pmousex). 4

Άσκηση 6 Τροποποιήστε το προηγούμενο παράδειγμα με τη σχεδίαση της συνεχούς γραμμής ώστε όσο πιο γρήγορα ο χρήστης μετακινεί το ποντίκι τόσο μεγαλύτερο πάχος να έχει η γραμμή. Χρησιμοποιήστε την strokeweight() για τον καθορισμό του πάχους γραμμής. Γεγονότα (events) κλικ ποντικιού και πάτημα πλήκτρου Τα κλικ από το ποντίκι και το πάτημα πλήκτρων από τον χρήστη στην Processing θεωρούνται γεγονότα (events). Αν θέλουμε να συμβαίνει κάτι (π.χ. να αλλάζει το χρώμα φόντου σε κόκκινο) όταν γίνεται κλικ ποντικιού από τον χρήστη τότε πρέπει να προσθέσουμε άλλη μια ενότητα κώδικα για να χειριστεί αυτό το γεγονός. Θα αναφέρουμε δύο νέες συναρτήσεις για τον καθορισμό της συμπεριφοράς του προγράμματός μας σε γεγονότα: mousepressed() χειρίζεται το γεγονός ότι έγινε κλικ με το ποντίκι keypressed() χειρίζεται το γεγονός ότι πατήθηκε κάποιο πλήκτρο Οι εντολές που θα είναι μέσα στην mousepressed() ή keypressed() θα εκτελούνται μία φορά κάθε φορά που συμβαίνει το αντίστοιχο γεγονός. Άσκηση 7 Γράψτε τον κώδικα του παραδείγματος. Σε αυτό το παράδειγμα έχουμε τέσσερις συναρτήσεις που καθορίζουν τη ροή εκτέλεσης του προγράμματος. Το πρόγραμμα ξεκινά με την setup(). Συνεχίζει με την draw() που η εκτέλεσή της επαναλαμβάνεται επ αόριστον. Η draw() δεν περιέχει καμία εντολή και έτσι θα βλέπουμε ένα κενό λευκό παράθυρο. Μόνο όταν ο χρήστης κάνει κλικ θα εκτελεστούν οι εντολές της mousepressed() και θα σχεδιαστεί ένα τετράγωνο. Ενώ αν πατήσει ένα πλήκτρο θα ξανασχεδιαστεί το λευκό χρώμα φόντου και συνεπώς θα καθαρίσει το παράθυρο εξόδου. 5

Άσκηση 8 Προσθέστε την εντολή background(255); μέσα στην draw(). Γιατί το πρόγραμμα δεν δουλεύει; framerate Κάθε φορά που ολοκληρώνεται η εκτέλεση του κώδικα της συνάρτησης draw(), σχεδιάζει ένα νέο frame στον καμβά και στη συνέχεια εκτελεί τις ίδιες εντολές κώδικα μέσα στην draw() για να σχεδιαστεί και το επόμενο frame. To animation προκύπτει από τον γρήγορο σχεδιασμό πολλών διαφορετικών frames. Από προεπιλογή, σχεδιάζονται στην οθόνη 60 frames κάθε δευτερόλεπτο, δηλ. 60 fps (frames per second). Η συνάρτηση framerate() καθορίζει τον αριθμό των frames που θέλουμε να σχεδιάζονται κάθε δευτερόλεπτο. Μπορούμε να δώσουμε ως τιμή στην framerate() έναν ακέραιο αριθμό από 1 έως 60. 6

Άσκηση 9 Τροποποιήστε τον κώδικα του προγράμματος για την σχεδίαση του Zoog όπως παρακάτω όλο το σώμα του Zoog θα ακολουθεί την κίνηση του ποντικιού το χρώμα ματιών του καθορίζεται από τη θέση του ποντικιού Τα πόδια του θα σχεδιάζονται βάση της προηγούμενης και τρέχουσας θέσης του ποντικιού Όταν γίνεται κλικ εμφανίζεται το μήνυμα «Take me to your leader!» 7

Άσκηση 10 Αρχικά σχεδιάστε μια στατική εικόνα με χρώματα RGB και βασικά γεωμετρικά σχήματα. Στη συνέχεια κάντε αυτή την εικόνα δυναμική βάση αλληλεπίδρασης με το ποντίκι. Αυτό θα μπορούσε να συμπεριλαμβάνει τα σχήματα να ακολουθούν τη θέση του ποντικιού, να αλλάζει το μέγεθός τους σχετικά με τη θέση του ποντικιού, να αλλάζει το χρώμα τους σχετικά με τη θέση του ποντικιού κ.λπ. 8