Zitat Zitat
Das mit den globale Variablen: Warum sind sie so schlecht? Das höre ich oft. Aber ich kann mit denen besser arbeiten.
Weil das den Code unflexibel macht und seine Wiederverwendung erschwert. Normalerweise kann man bestimmte Scripte, wie z.B. ein Fenster-Script, an mehreren Stellen des Spiels verwenden. Das bedingt aber, dass die Scripte sich untereinander nicht dieselben Variablen teilen. Da globale Variablen aber eben global sind, würden dann alle Scripte auf dieselben Variablen zugreifen und damit untereinander in Konflikt geraten. Mal als Beispiel: Angenommen die Auswahlfenster würden ihren Index alle in der globalen Variable $i speichern, dann würdest du, während du im Skillmenü einen Skill auswählst, auch gleichzeitig im Itemmenü und im Kampfaktionsauswahlmenü den Cursor bewegen. Mag ja sein, dass globale Variablen am Anfang erstmal einfacher erscheinen (weil man ja auch im Maker globale Variablen gewohnt ist). Aber es schadet ja nicht, sich von Anfang an den richtigen Stil anzugewöhnen.

Zitat Zitat
Der Cursor soll außerhalb eines Fenster angezeigt werden. Und auch über andere Fenster.
Und je nach dem Wert von $smi soll er an einen komplett anderen Platz auf dem Bildschirm, also X und Y werden sich immer unterscheiden.
Dann kannst du keinen Window-Cursor verwenden. Der kann nur innerhalb eines Fensters angezeigt werden. Du müsstest eine eigene Sprite_Cursor Klasse schreiben, die überall angezeigt werden kann. Wenn du mal in den früheren Kapiteln meines Kurses blätterst: Dort wird auch erwähnt wie man Menüs aus Sprites erzeugt und eigene Cursor zeichnet.