3. Κίνηση

Το κεφάλαιο σε pdf.
Κατεβάστε το

Ερωτήσεις Κεφαλαίου
Απαντήστε τις

Σε κάθε έργο που ξεκινάμε πρέπει να δημιουργήσουμε μια υποκλάση της κλάσης World. Αυτό γίνεται κάνοντας δεξί κλικ στο εικονίδιο World και επιλέγοντας New subclass. Τη νέα υποκλάση μπορούμε να την ονομάσουμε background και να διαλέξουμε μια εικόνα για την αναπαράσταση του. Το Greenfoot έχει εγκαταστήσει κάποια υπόβαθρα τα οποία μπορούμε να χρησιμοποιήσουμε στις εφαρμογές μας και βρίσκονται στον φάκελο backgrounds. Δοκιμάστε όποιο θέλετε από αυτά. Μπορείτε να χρησιμοποιήσετε και εικόνες από τον υπολογιστή σας.

Σε αυτό το έργο θα εισάγουμε μια μορφή (Actor) και θα την κάνουμε να κινείται μέσα στο πλέγμα του κόσμου που δημιουργήσαμε. Για να δημιουργήσουμε μια νέα μορφή κάνουμε δεξί κλικ στο εικονίδιο Actor και μετά New subclass. Το Greenfoot έχει εγκατεστημένες πολλές εικόνες που μπορούν να χρησιμοποιηθούν σε έργα, χωρισμένες σε κατηγορίες. Σε αυτό το έργο χρησιμοποιήστε κάποια εικόνα από την κατηγορία Animals και δώστε στην υποκλάση ένα αντίστοιχο όνομα. Για το συγκεκριμένο παράδειγμα θα θεωρήσουμε ότι εισήχθηκε ένα Wombat.

Παρά το ότι στην ιεραρχία των μορφών εμφανίστηκε το wombat, δεν εμφανίστηκε κανένα αντικείμενο μέσα στον κόσμο. Για να εισάγουμε αντικείμενα θα κάνουμε δεξί κλικ στο εικονίδιο του wombat και new wombat(), αφού πρώτα κάνουμε Compile (Μεταγλώττιση). Με το ποντίκι του υπολογιστή μπορούμε να βάλουμε το αντικείμενό μας όπου θέλουμε μέσα στο πλέγμα του κόσμου.

Για να το προγραμματίσουμε μια μορφή κάνουμε δεξί κλικ στο εικονίδιό της και Open editor (Άνοιγμα επεξεργαστή κειμένου)

Αν πατήσουμε Run ή Act τίποτε δεν θα γίνει και αυτό γιατί δεν έχουμε προγραμματίσει το wombat να κάνει κάτι. Για να το προγραμματίσουμε κάνουμε δεξί κλικ στο εικονίδιο του wombat και Open editor (Άνοιγμα επεξεργαστή κειμένου). Το Greenfoot δημιουργεί κώδικα για τη νέα κλάση χωρίς να υπάρχει κάτι μέσα στην μέθοδο Act.

Για να προγραμματίσουμε το wombat να κινείται μέσα στον κόσμο μπορούμε να βάλουμε στην μέθοδο act την εντολή move(1).

Κώδικας 3.1:

	public void act() 
    {
        // Add your action code here.
        move(1);
    }
	

Επέκταση 3.1

Αλλάξτε την παράμετρο της εντολής move από 1 σε κάποιο μεγαλύτερο άριθμο (π.χ. 3 ή και ακόμη μεγαλύτερο). Ποιο χαρακτηριστικό της κίνησης αλλάζει;
comments powered by Disqus