κίνηση ενός ImageSprite στον Canva Στόχοι: Να δημιουργήσετε κίνηση μιας μορφής στην οθόνη Να αλλάζετε δυναμικά (καθώς εκτελείται το πρόγραμμα) τις ιδιότητες συστατικών με χρήση set και get μπλοκ Να επιλέγετε διαδικασίες από τις υπάρχουσες για κάθε συστατικό Να αναλύεται συμβάντα και να επιλέγετε κατάλληλους χειριστές αυτών Να ορίζετε τυχαία θέση στην οθόνη ο σκύλος που τρέχει (Μπορούσε ο σκύλος της προηγούμενης εργασίας να κινηθεί;) Οι ιδιότητες κάθε συστατικού είναι κελιά μνήμης με όνομα και τιμή. Οι τιμές τους δεν είναι σταθερές, αλλά μπορούν να αλλάξουν κατά την εκτέλεση του προγράμματος με τις εντολές αλλαγής ιδιοτήτων set i. Πηγαίνετε στη διεύθυνση http://testlams.eap.gr/lams/index.do, συνδεθείτε με username: uselam26, uselam27 κλπ έως 50 και κωδικό 11880 και απαντήστε στο συνεχίστε με τη σχεδίαση εφαρμογής όπου: 1.όταν αγγίζουμε κάπου την οθόνη, ο σκύλος μας από ήρεμος θα γίνεται άγριος, θα γαυγίζει και ταυτόχρονα θα μετακινείται προς τα εκεί που έγινε το άγγιγμα. 2.Όταν πάψουμε να αγγίζουμε την οθόνη, τότε να αλλάζει η εικόνα του σκύλου σε ήρεμο και να σταματά ΣΧΕΔΙΑΣΗ i Αρχίστε μια νέα εφαρμογή με όνομα GuardDogV2. (Από το http://tiny.cc/aifiles και το φάκελο GuardDog έχετε ήδη κατεβάσει όλα τα αρχεία στον υπολογιστή σας) iv. τοποθετήστε στο viewer: το συστατικό Canvas με όνομα DogCanvas, διαστάσεις ώστε να καλύπτει όλη την οθόνη (πλάτος, ύψος: Fill parent) και με εικόνα φόντου (BackgroundImage): την Grass.jpg v. και ένα ImageSprite που στις ιδιότητές του θα δώσουμε: όνομα DogSprite και εικόνα την: SleepyDog.png. Ανεβάστε επίσης την εικόνα AngryDog.png για αργότερα vi. Προσθέστε το κατάλληλο Media συστατικό για την αναπαραγωγή σύντομου ήχου γαυγίσματος. Ανεβάστε και συνδέστε το με το αρχείο Bark.mp3 Προγραμματισμός Για κάθε ένα γεγονός θα πρέπει να ορίσουμε την συμπεριφορά του συστατικού που επηρεάζει Π.χ. ο σκύλος από ήρεμος να γίνεται άγριος σημαίνει ότι θα αλλάζει η ιδιότητα «εικόνα» του συστατικού DogSprite. v Ταιριάξτε κατάλληλα τα παρακάνω 4 πλακίδια ώστε να προκύπτουν οι εντολές : Α1. Θέσε την εικόνα του DogSprite στην: AngryDog.png Α2. θέσε ταχύτητα του DogSprite σε 20 vi Ανάλυση συμπεριφοράς 1 ου συμβάντος:
Συμβάν- γεγονός Συμπεριφορά - ενέργεια 1.όταν αγγίζουμε τον κανβά ο σκύλος μας από ήρεμος θα γίνεται άγριος = Δηλ Θέσε την εικόνα του DogSprite στην: Angry.Dog.png Γαυγίζει= Κάλεσε τον ήχο να παίζει Η μετακίνηση προς το σημείο που έγινε το άγγιγμα = στρίψε προς αυτό+ξεκίνα α) κλήση της διαδικασίας του DogSprite «δείξε προς την κατεύθυνση του σημείου χ, y» και β) θέσε την ταχύτητα του DogSprite σε 20 Οι χειριστές συμβάντων (μουσταρδί χρώμα) μας παρέχουν ως παραμέτρους τις χ και y συντεταγμένες του αγγίγματος, τις οποίες μπορούμε να πάρουμε μέσω των get x, και get y που εμφανίζονται αν αφήσουμε το ποντίκι πάνω στο χ, ή y και να τις χρησιμοποιήσουμε στη κλήση της διαδικασίας call DogSrite. PointInDirection στις αντίστοιχες συντεταγμένες των παραμέτρων x και y : ix. Συνδυάστε τα παραπάνω ώστε να υλοποιήσετε προγραμματιστικά τις συμπεριφορές που αναλύθηκαν x. Ανάλυση συμπεριφοράς 2 ου συμβάντος: συμπληρώσετα τα κενά της 3 ης στήλης με την περιγραφή λεκτικά των κατάλληλων εντολών σε AppInventor Συμβάν- γεγονός Συμπεριφορά- ενέργεια Δηλ 2. Όταν πάψουμε να αγγίζουμε τον κανβά ο σκύλος γίνεται ήρεμος = Σταματάει να κινείται= xi. x xi Συνδυάστε τα παραπάνω ώστε να υλοποιήσετε τις συμπεριφορές που αναλύσατε δοκιμάστε την εφαρμογή στον προσομοιωτή και στο τηλέφωνο Πηγαίνετε στη διεύθυνση http://testlams.eap.gr/lams/index.do, συνδεθείτε με username: uselam26, uselam27 κλπ έως 50 και κωδικό 11880 και απαντήστε
στο ImageSprite, Clock κλπ). (με ερωτήσεις για Canvas, 1. Τι ιδιότητες έχει το συστατικό Canvas; 2. Σε ένα παραδοσιακό σύστημα αξόνων πως μεταβάλλεται το Υ όταν κινήστε προς τα κάτω; 3. Σε τι διαφέρει το συστατικό ImageSprite από το Ball; 4. Ποια συμβάντα χειρισμού του ImageSpriteDog υπάρχουν;.. 5. Ποια διαδικασία του ImageSpriteDog το κάνει να δείχνει σε συγκεκριμένο σημείο; 6. Για κάθε στοιχείο από την εφαρμογή I Have a Dream κατονομάστε ένα: Ορατό συστατικό Μη ορατό συστατικό Ιδιότητα Γεγονός Χειριστή γεγονότος Κλήση διαδικασίας συνθήκη : 1. Τα χειριστήρια συμβάντων έχουν παραμέτρους συμβάντων. Ονομάστε κάθε παράμετρο των παρακάτω συμβάντων και πείτε τι αντιπροσωπεύει.
2. Οι συντεταγμένες του DogSprite -ως ιδιότητες- αλλάζουν με τα πράσινα πλακίδια εντολών Ποιες τιμές από τις ανωτέρω παραμέτρους θα πρέπει να παίρνουν τα Χ και Υ ώστε ο σκύλος να ακολουθεί το σύρσιμο του δαχτύλου μας; 3. θέλουμε να τοποθετούμε το σκύλο σε μια αρχική τυχαία θέση στην οθόνη όταν ξεκινάει η εφαρμογή. Από την ομάδα μπλοκ: Math, η random επιστρέφει τυχαίους αριθμούς στην κλίμακα από 0 έως 1. Όμως οι τιμές του Χ και Υ είναι όλη την οθόνη, αν εξαιρέσουμε το χώρο που καταλαμβάνει η εικόνα του σκύλου, δηλ : από 0 έως πλάτος [Canva σκύλου] σε pixel. Ταιριάξτε κατάλληλα τα παρακάτω μπλοκ, ώστε η θέση του σκύλου κατά τον άξονα των Χ να ορίζεται τυχαία. Κάντε το ίδιο και για το Υ. 4. θέλουμε ο σκύλος να αλλάζει τυχαία θέση κάθε μερικά δευτερόλεπτα. Το συστατικό Clock διαθέτει το χειριστή συμβάντων: Timer σαν εσωτερικό χρονόμετρο για αυτό το σκοπό. (Ο χρόνος που μετράει ορίζεται με την ιδιότητα TimerInterval). Ποιες εντολές θα μπουν στο εσωτερικό του; 5. Αν ένα σύνολο εντολών επαναλαμβάνεται το ίδιο σε πολλά σημεία του προγράμματος, δημιουργούμε μια δική μας διαδικασία (Procedure) με δικό μας όνομα που στη συνέχεια την καλούμε με: Ξαναφτιάξτε τις 3, 4 με κλήση διαδικασίας Γενίκευση: Σκεφτείτε παρόμοιες εφαρμογές με χρήση όσων γνωρίζετε ήδη
Για αξιολόγηση: Σχεδίαση νέας εφαρμογής με τυχαία κίνηση φιγούρας i. επικολλήστε στο φυλλομετρητή σας την διεύθυνση i http://appinventor.mit.edu/explore/sites/all/files/ai2tutorials/molemash/mole.png και αποθηκεύστε την εικόνα mole.png Δημιουργήστε μια νέα εφαρμογή με όνομα HitMole1 στην οποία θα ανεβάσετε τον ήχο του γαυγίσματος (bark.mp3 ) και την εικόνα mole.png που θα περιέχει 1 κανβά, που θα καλύπτει όλη την οθόνη και 1 φιγούρα (ImageSprite), με εικόνα το mole.png και ένα συστατικό Sound με πηγή το bark.mp3 iv. ένα ρολόι (clock) από την ομάδα Sensor με ιδιότητα: Time Interval =500 v. Θα προγραμματίσετε έτσι ώστε με την εκκίνηση της εφαρμογής η φιγούρα να τοποθετείται σε τυχαία θέση στην οθόνη, vi. η φιγούρα να μετακινείται διαρκώς τυχαία κάθε 0,5 v όταν πετυχαίνουμε να κάνουμε πάνω της κλικ, να ακούγεται ένα γαύγισμα vi Προσθέστε μια μπάλα στην εφαρμογή σας με κόκκινο χρώμα και ακτίνα 10, i. την οποία θα σέρνετε με το δάχτυλό σας πάνω στην οθόνη, με σκοπό να αποφύγετε τη 1 2 3 4 5 6 7 8 9 10 σύγκρουση με το Mole. (Για να σύρουμε μια μορφή στην οθόνη υπάρχει το χειριστήριο συμβάντων when Μορφή.Dragged με παραμέτρους τις αρχικές (start)συντεταγμένες, τις τωρινές (current) και τις προηγούμενες(prev)) Όταν συγκρούεται με τη φιγούρα να ακούγεται ένας άλλος ήχος. Αποθηκεύστε το αρχείο σύμφωνα με τον κωδικό σας π.χ. lyk1_user_26.aia και στείλτε το με email: στο geospala@gmail.com ΑΥΤΟΑΞΙΟΛΟΓΗΣΗ: Ολοκλήρωσα σωστά όλα τα βήματα; Βάλε ν ή χ στο αντίστοιχο κουτάκι