-
Abenteurer
attr_reader/writer/accessor erstellt Funktionen, die Prozessen außerhalb der Instanz einfachen Zugriff auf die Instanzvariable @character_name gewähren, auf welche innerhalb jeder Game_Character-Instanz allerdings sowieso immer frei zugegriffen werden kann.
Eine Änderung dieser Variablen ist dabei in diesem Fall in 3 Fällen vorgesehen:
- beim Aufruf von "initialize" (Event/Spieler wird erstellt)
- beim Aufruf von "refresh" (im Falle Game_Event/Game_Player: Eventseite oder Heldengruppe hat sich geändert)
- beim Aufruf von "move_type_custom" (in der Bewegungsroute wurde "Change Graphic" aufgerufen)
Da es keine Methode gibt, die von außen direkt diese Variable überschreibt war es hier nicht notwendig attr_accessor zu verwenden. Wenn du die Variable doch aus irgendeinem Grund auch von außen direkt auf diese Variable zugreifen musst wäre attr_accessor eine Lösung. (Aufgepasst sollte jedoch, wenn die Methode character_name= bereits existieren sollte da diese sich mit der durch attr_accessor :character_name erzeugten Methode überschreiben würde.)
Geändert von ETeCe (29.12.2010 um 11:39 Uhr)
-
Schwertmeister
Danke erstmal.
Mein Problem dabei ist einfach, dass ich nicht weiß wo die Methode zum ändern dieser Instanzvariablen ist. Es muss eine geben, über die zum Beispiel 'Set move route' die Grafik eines Events ändert, nur finde ich den entsprechenden Code einfach nicht und weiß daher nicht wie ich ihn gezielt aufrufen kann. Im Moment funktioniert es ja so, ich will nur halt einfach nichts falsch oder kaputt machen und kann im moment einfach noch nicht so recht überblicken wie dieser code arbeitet.
-
Abenteurer
Die Methode die letztlich alle Move-Route-Befehle ausführt heißt move_type_custom , du findest sie in "Game_Character 2" ab Zeile 175.
Die Methode arbeitet den nächsten Befehl in der Move-Route des Events ab (Den genauen Aufbau der Klasse RPG::MoveRoute findest du in der Makerhilfe, die du im Maker über F1 aufrufen kannst). Abhängig vom Code des neuen Befehls wird eine andere Bewegung ausgeführt - das Prinzip ist das gleiche wie in der Interpreterklasse (Wenn der Code gleich 1 ist tue das, wenn 2 tue das uswusf.).
Der "Change Graphic"-Befehl zum Beispiel hat den Code 41, die "Übersetzung" dieses Befehls findest du entsprechend ab Zeile 318. Eine weitere Methode wird dort allerdings nicht mehr aufgerufen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln