Ergebnis 1 bis 20 von 41

Thema: No problems ^,^] Adrian2000 - Problemthread(RGSS)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    Achso. Aber nur mal so nebenbei: Bei was wäen globale Variable sinnvoll?

    Und zur Sprite_Cursor: Yay, eine Herausforderung für mich Das war dann alles, was ich wissen wollte. Ich probiere das jetzt in den nächsten Tagen, lese mal deinen RGSS-Kurs durch(was ich schon immer mal machen wollte, aber wegen Schule noch keine Zeit hatte).

    Also danke ^,^
    Und zu Cepanks: Jep, du hattest recht xD Danke

    €dit: Ein Problem habe ich noch:

    $smi = $smi - 1

    Da erscheint eine Fehlermeldung:

    Script 'Menu' line 184: NoMethodError occured.

    undefined method `-' for nil:NilClass

    Geändert von SMWma (30.11.2010 um 20:21 Uhr)

  3. #3
    Dann hat deine Variable $smi noch keinen Wert. Du musst ihr ja irgendeinen Anfangswert zuweisen, bevor du sie erhöhen bzw. verringern kannst.

    Eigene globale Variablen machen im Maker eigentlich gar keinen Sinn. Man sollte generell auf Instanzvariablen und lokalen Variablen setzen.

  4. #4
    okaj. Allerdings habe ich die Variable schon mehrmals benützt. Und das jetzt alles zu verändern... boah ^,^
    Aber ich werde es mal beim nächsten Skript machen.

    Geändert von SMWma (01.12.2010 um 16:57 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •