Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 2ο μέρος



Σχετικά έγγραφα
Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 1ο μέρος

Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 3ο μέρος

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

Φύλλο εργασίας 9 - Αυτόνομο ρομποτικό όχημα αποφυγής εμποδίων

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

Texturing, Animation, Lighting, Rendering

Breakdance Computer Game σε Scratch.

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

Μαθήματα Scratch -Δραστηριότητα 1 Παλέτα Κίνηση

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

ΚΙΝΗΣΕΙΣ ΣΤΕΡΕΩΝ ΣΩΜΑΤΩΝ

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

TomTom Εγχειρίδιο αναφοράς

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

Σχεδόν ένα στα τέσσερα νέα μοντέλα οχημάτων διαθέτουν σύστημα αναγνώρισης κόπωσης οδηγού.

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

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

Δραστηριότητα 1 Σχεδιασμός σκηνικού

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

Κεφάλαιο 6α. Περιστροφή στερεού σώματος γύρω από σταθερό άξονα

ΣΥΣΤΗΜΑΤΑ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΕΛΕΓΧΟΥ. Εγχειρίδιο χρήσης

Γρανάζια και Ταχύτητα

Α3. Ποια είναι τα πλεονεκτήματα του Δομημένου προγραμματισμού; (Μονάδες 10)

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

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

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

Κινηματική της περιστροφικής κίνησης

1.1. Κινηματική Ομάδα Δ.

Εκπαιδευτική Ρομποτική με ARDUINO. για εκπαιδευτικούς και μαθητές. 1o Μέρος: Απλά Κυκλώματα

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

Το τρίτο παιχνίδι ΛΑΒΥΡΙΝΘΟΣ ΜΕ ΕΜΠΟΔΙΑ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014

Παλέτα Κίνηση. Για να μετακινήσουμε ένα αντικείμενο χρησιμοποιούμε την εντολή ΚΙΝΗΣΟΥ

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

ΕΓΧΕΙΡΙΔΙΟ ΣΥΝΑΡΜΟΛΟΓΗΣΗΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΑΣ

ΛΥΚΕΙΟ ΑΓΙΟΥ ΣΠΥΡΙΔΩΝΑ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2014

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΘΕΜΑ Α Α1. Τι κάνουν οι παρακάτω εικονιζόμενες εντολές; Επιλέξτε το σωστό (μον.6)

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

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

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

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

Scratch Διδακτική του Προγραμματισμού. Παλαιγεωργίου Γιώργος

Εισαγωγή στη Ρομποτική (για αρχάριους) Δημήτρης Πιπερίδης Διαδραστική Έκθεση Επιστήμης & Τεχνολογίας Ίδρυμα Ευγενίδου

Slalom Race Computer Game on Scratch

Παίρνοντας Αποφάσεις 1

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

Δημιουργώντας 3D μοντέλα - Εργαλείο Spin

Ο ρόλος των εκπαιδευτών στη μικτή κυκλοφορία αυτόνομων και μη οχημάτων

Συλλογή & Επεξεργασία Δεδομένων Εξαμηνιαία ΡομποΚαθαριστής Μέρος Β : Το Πρόγραμμα. Σχεδίαση Συστήματος Πραγματικής Εφαρμογής (Prototyping).

Εισαγωγή στο 3DS Max 2009

Φύλλο Εργασίας 4 Συνθετική εργασία

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

Οι νόμοι των δυνάμεων

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΜΑΘΗΜΑ / ΤΑΞΗ : ΦΥΣΙΚΗ ΘΕΤΙΚΩΝ ΣΠΟΥΔΩΝ Γ ΛΥΚΕΙΟΥ ΑΠΑΝΤΗΣΕΙΣ ΗΜΕΡΟΜΗΝΙΑ: 05/01/2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: ΑΡΧΩΝ ΜΑΡΚΟΣ

Κων/νου Στυλιάδη Χρήστου Ιωάννου. Εφαρµογή Αποθήκης σε Pascal

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ ΤΟ ΚΙΤ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS EV3

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

Tank Rescue Computer Game σε Scratch

Σε γαλάζιο φόντο ΔΙΔΑΚΤΕΑ ΥΛΗ ( ) Σε μαύρο φόντο ΘΕΜΑΤΑ ΕΚΤΟΣ ΔΙΔΑΚΤΕΑΣ ΥΛΗΣ ( )

Λύσεις Σειράς Ασκήσεων 5

ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕ ΧΡΗΣΗ ΤΟΥ ΠΑΚΕΤΟΥ ΡΟΜΠΟΤΙΚΗΣ LEGO MINDSTORMS NXT

1. Μια σφαίρα κινείται ευθύγραμμα και στο παρακάτω σχήμα βλέπετε την θέση της Α για t=0.

Άλλαξε Χρώμα. Άλλαξε Χρώμα ΠΡΟΕΤΟΙΜΑΣΙΑ. Κάνε κλικ για να αλλάξεις το χρώμα ενός αντικειμένου. Διάλεξε ένα αντικέιμενο από τη βιβλιοθήκη.

Δημιουργώντας 3D μοντέλα από εικόνες

2017 Κατασκευάζω και Προγραμματίζω με τον μικροελεγκτή Arduino

Τυχαίοι αριθμοί ρίξε μια «ζαριά»

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Remote drive. Μία από τις βασικές αρχές της TOYOTA είναι το ΚΑΙΖΕΝ η ΔΙΑΡΚΗΣ ΒΕΛΤΙΩΣΗ.

ΦΥΣ 111 Γενική Φυσική Ι 4 η Εργασία Επιστροφή: Ένα κιβώτιο µάζας 20kg το οποίο είναι συνδεδεµένο µε µία τροχαλία κινείται κατά µήκος µίας

Πληρουορική Γ Γσμμασίοσ

Ημερομηνία: Σάββατο 11 Νοεμβρίου 2017 Διάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

Scratch 2.0 Προκλήσεις

Πτυχιακή Εργασία Οδηγώντας ένα Ρομποτικό Αυτοκίνητο με το WiFi. Η Ασύρματη Επικοινωνία, χρησιμοποιώντας

το άκρο Β έχει γραμμική ταχύτητα μέτρου.

ΕΝΟΤΗΤΑ 1: ΚΙΝΗΣΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ ΛΥΜΕΝΑ ΘΕΜΑΤΑ ΘΕΜΑ Β

ΚΕΦΑΛΑΙΟ 4 ο : ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ ΕΝΟΤΗΤΑ 1: ΚΙΝΗΣΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ [Υποκεφάλαιο 4.2 Οι κινήσεις των στερεών σωμάτων του σχολικού βιβλίου]

Κεφάλαιο 10 Περιστροφική Κίνηση. Copyright 2009 Pearson Education, Inc.

Unity Editor #03 Κεντρικό Μενού: Edit

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

1. Κατασκευάστε ένα διάνυσμα με στοιχεία τους ζυγούς αριθμούς μεταξύ του 31 και 75

ο σκύλος που τρέχει (Μπορούσε ο σκύλος της προηγούμενης εργασίας να κινηθεί;)

1. Λίγα λόγια για το STEM (Διαδικασία διεπιστημονικής μάθησης Ανακάλυψη Διερεύνηση και Λύση του προβλήματος)

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

Πληροφορική ΙΙ Θεματική Ενότητα 5

Αλλαγές στους Κανόνες Οδικής Κυκλοφορίας της NNO

7. Επαναλήψεις (Loops) Προγραμματισμός EV3 Ακαδημία Ρομποτικής 58

1.1. Κινηματική Ομάδα Ε

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ. ΘΕΜΑ 1 ο Στις ερωτήσεις 1-4 να γράψετε τον αριθμό της ερώτησης και δίπλα το γράμμα που αντιστοιχεί στη σωστή απάντηση.

Τεχνολογία Πολυμέσων. Ενότητα 12: Ανάπτυξη εφαρμογής ημερολογίου. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Transcript:

Μάθημα 7ο Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 2ο μέρος

Σε αυτό το μάθημα παίρνουμε σαν βάση το προηγούμενο παιχνιδάκι που φτιάξαμε και το τροποποιούμε με τέτοιο τρόπο ώστε: Να στρίβουν οι ρόδες με βάση την περιστροφή που κάνει το όχημα Το αυτοκίνητο να επιταχύνει όταν πατιέται το πλήκτρο Α Το αυτοκίνητο να επιβραδύνει όταν πατιέται το πλήκτρο Ζ Να ακούγεται ήχος από τη μηχανή του οχήματος... Να σταματά η κίνηση του οχήματος όταν αυτό έρθει σε επαφή με τα εμπόδια της πίστας Να ακούγεται ένας ήχος όταν το όχημα τρακάρει. Να περιστρέφονται οι ρόδες, όταν το όχημα κινείται. global mychassis global speedvalue global rightturn global leftturn global a Κώδικας για το frame script on exitframe me go to the frame on enterframe me pgoingforward = keypressed(126) pgoingbackward = keypressed(125) pgoingright = keypressed(124) pgoingleft = keypressed(123) pspeedup=(keypressed("a") or keypressed("a")) pspeeddown=(keypressed("z") or keypressed("z")) if pgoingforward=true and speedvalue>0 then forwardmove if pgoingbackward=true and speedvalue>0 then backwardmove if pgoingright=true and speedvalue>0 then rightmove if pgoingleft=true and speedvalue>0 then leftmove if pspeedup=true then speedup if pspeeddown=true then speeddown mychassis=member("rally4w").model("board") -- rythmish toy timonioy a=mikro argo timoni, a= megalo grhgoro timoni a=1.5 on speedup if speedvalue=0 then music = sound(2) music.play(member("engine_idle")) if speedvalue=speedvalue+1 on speeddown speedvalue=speedvalue-1 if speedvalue<0 then speedvalue=0 on forwardmove myspeedvalue=speedvalue member("rally4w").model("board").translate(0,myspeedvalue,0) moveweels(speedvalue) if rightturn>0 and not keypressed(124) then

rightturn=rightturn-1 rightmove if if leftturn>0 and not keypressed(123) then leftturn=leftturn-1 leftmove if on leftmove rightturn = 0 if speedvalue<>0 then member("rally4w").model("board").rotate(0,0,1*a) front_t = member("rally4w").model("front_t") if leftturn<10 and keypressed(123) then leftturn=leftturn+1 member("rally4w").model("front_t").rotate(0,0,1.2*a) member("rally4w").model("flwheel").rotate(0,0,1.2*a,front_t) member("rally4w").model("frwheel").rotate(0,0,1.2*a,front_t) else if not keypressed(123) then member("rally4w").model("front_t").rotate(0,0,-1.2*a) member("rally4w").model("flwheel").rotate(0,0,-1.2*a,front_t) member("rally4w").model("frwheel").rotate(0,0,-1.2*a,front_t) if on rightmove leftturn = 0 if speedvalue<>0 then member("rally4w").model("board").rotate(0,0,-1*a) front_t = member("rally4w").model("front_t") if rightturn<10 and keypressed(124) then rightturn=rightturn+1 member("rally4w").model("front_t").rotate(0,0,-1.2*a) member("rally4w").model("flwheel").rotate(0,0,-1.2*a,front_t) member("rally4w").model("frwheel").rotate(0,0,-1.2*a,front_t) else if not keypressed(124) then member("rally4w").model("front_t").rotate(0,0,1.2*a) member("rally4w").model("flwheel").rotate(0,0,1.2*a,front_t) member("rally4w").model("frwheel").rotate(0,0,1.2*a,front_t) if on backwardmove mybackspeed= -1*speedvalue member("rally4w").model("board").translate(0,mybackspeed,0) moveweels(-mybackspeed) on moveweels(speedv) member("rally4w").model("frwheel").rotate(speedv,0,0) member("rally4w").model("flwheel").rotate(speedv,0,0) member("rally4w").model("rrwheel").rotate(speedv,0,0) member("rally4w").model("rlwheel").rotate(speedv,0,0) global speedvalue global leftturn global rightturn on startmovie Κώδικας για το movie script

member("rally4w").resetworld() speedvalue=10 leftturn=0 rightturn=0 member("rally4w").model("board").addchild(member("rally4w").model("front_t")) member("rally4w").model("board").addchild(member("rally4w").model("frwheel")) member("rally4w").model("board").addchild(member("rally4w").model("flwheel")) member("rally4w").model("board").addchild(member("rally4w").model("rrwheel")) member("rally4w").model("board").addchild(member("rally4w").model("rlwheel")) member("rally4w").model("board").addchild(member("rally4w").model("rear_t")) member("rally4w").model("board").addchild(member("rally4w").camera("defaultview")) repeat with curmodel in ["board","pyramid01", "Pyramid03"] member("rally4w").model(curmodel).addmodifier(#collision) member("rally4w").model(curmodel).collision.mode = #mesh member("rally4w").model(curmodel).collision.enabled = true member("rally4w").model(curmodel).collision.resolve = true member("rally4w").model(curmodel).collision.immovable = false repeat member("rally4w").registerforevent(#collideany,#collisiondetect,0) on collisiondetect speedvalue=0 music = sound(2) music.play(member("crash")) Στον κώδικα του movie script γίνεται η αρχικοποίηση των global μεταβλητών (για την ταχύτητα κλπ). Επίσης, καρφώνουμε πάνω στο μοντέλο του οχήματος (του σασί για την ακρίβεια) τα μοντέλα που απαρτίζουν τις ρόδες, έτσι ώστε να ακολουθούν την κίνηση του οχήματος. Επιπρόσθετα, προσθέτουμε στα μοντέλα που πρέπει τα collisions, έτσι ώστε να μπορούμε να τρακάρουμε το όχημα στα εμπόδια! Τέλος, ορίζουμε τι θα γίνεται όταν εντοπιστεί μία σύγκρουση του οχήματος με τα εμπόδια. Στο frame script δεν αλλάζουν και πολλά από την προηγούμενη φορά, απλά λαμβάνουμε υπόψη μας ότι πλέον οι ρόδες πρέπει να στρίβουν (οπότε και γράφουμε τον κατάλληλο κώδικα στις κατάλληλες functions). Επίσης, γράφουμε και τον απαραίτητο κώδικα ώστε οι ρόδες να περιστρέφονται όταν κινείται το όχημα. Άσκηση για το σπίτι Όπως πάντα η άσκηση είναι ατομική... Στο παιχνίδι που φτιάξατε παραπάνω να κάνετε τις απαραίτητες αλλαγές έτσι ώστε πατώντας το πλήκτρο V να αλλάζει η οπτική γωνία (κάμερα) και να βλέπουμε τις αλλαγές μέσα από το όχημα (ή τα μάτια του κεντρικού χαρακτήρα). Επίσης, πατώντας το πλήκτρο C να αλλάζει και πάλι η οπτική γωνία και να βλέπουμε τη δράση από την αρχική κάμερα. Όσοι από εσάς δεν έχετε κάποιο όχημα με ρόδες, αντί για περιστροφή των ροδών (που δεν υπάρχουν) κάντε κάποιου είδους κίνηση με το δικό σας όχημα. Δηλαδή, θα υπάρχει κάποιο τμήμα του μοντέλου σας το οποίο θα περιστρέφεται κατά τη στροφή του οχήματος. Για

παράδειγμα, εάν έχετε φτιάξει ένα ανθρωπάκι, όταν στρίβει να κάνει κάποια κίνηση με τα χέρια του. Αν δεν υπάρχει κάποιο τέτοιο τμήμα που να μπορεί να περιστραφεί, τότε τοποθετήστε ένα. Π.χ. εάν το όχημα είναι μία μπάλα...τότε προσθέστε της φτερά τα οποία θα περιστρέφονται όταν η μπάλα στρίβει!! Στο eclass θα ανεβάσετε ένα rar/zip αρχείο, το οποίο θα περιέχει όλα τα απαραίτητα για τη σωστή λειτουργία του παιχνιδιού αρχεία (εικόνες, ήχους ή οτιδήποτε άλλο).