class myLayer(ge.Layer) :
def __init__(self) :
ge.Layer.__init__(self, "my␣layer")
# init scane ...
def on_attach(self):
# create entities ...
# create components atached to entities ...
def on_start(self):
# on start logic
def on_update(self):
# update logic (...)
4.9
Σύστημα διεπαφής χρήστη
Για να καταστεί η μηχανή φιλική προς τον τελικό χρήστη και να διευκολυνθεί η ανάπτυξη
παιχνιδιών και διαδραστικών πολυμεσικών εφαρμογών, είναι απαραίτητη η παροχή ενός απλού
και ευέλικτου μηχανισμού δημιουργίας στοιχείων διεπαφής χρήστη (User Interface – UI). Τα
στοιχεία αυτά επιτρέπουν την αλληλεπίδραση του χρήστη με το σύστημα μέσω γραφικών αντι-
κειμένων, όπως κουμπιά, πλαίσια και κείμενο.
4.9.1
ui components
Όπως αναφέρθηκε σε προηγούμενη ενότητα του κεφαλαίου, στην αρχιτεκτονική της μη-
χανής υφίσταται διακριτή κατηγορία components που σχετίζονται αποκλειστικά με το γραφικό
περιβάλλον διεπαφής. Τα components αυτά ορίζονται ως UI Components και λειτουργούν ανε-
ξάρτητα από τα components που αφορούν τον κόσμο της σκηνής (world space), καθώς αποδί-
δονται σε ξεχωριστό επίπεδο (screen space).
Μέχρι στιγμής παρουσιάστηκε το UI_Text_Component, το οποίο επιτρέπει την απόδοση
δυναμικού κειμένου. Στην ίδια κατηγορία εντάσσονται επιπλέον τα:
• Button_Component
• Panel_Component
• Interactable_Component
• Hierarchy_Component
Το ButtonComponent αποθηκεύει τα δεδομένα που αφορούν την οπτική αναπαράσταση του
κουμπιού, όπως το sprite, τυχόν κείμενο που το συνοδεύει, καθώς και τις διαστάσεις του.
45