background image

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