Die beiden Methode sollten in etwa so aussehen. Ich hab jetzt nich die Grafiken geändert, deshalb hab ich die Positionen nur in etwa richtig gesetzt. Das Ganze hab ich jetzt als Modul gekapselt was du nur noch per Copy-Past über der Mainfunktion ganz unten im Skript einfügen musst.
Code:
class Game_Actor
def screen_x
# Return after calculating x-coordinate by order of members in party
if self.index != nil
return 480 + self.index * 16
else
return 0
end
end
#--------------------------------------------------------------------------
def screen_y
if self.index != nil
return 96 + self.index * 64
else
return 0
end
end
end
Zum Verständnis:
Ich hab eigentlich nur die beiden Zeilen
return 480 + self.index * 16
und
return 96 + self.index * 64
geändert.
return bedeutet nur, dass es der Rückgabewert der Methode ist. Dahinter muss ein Wert oder ein Ausdruck stehen.
Der Ausdruck hier ist bei screen_x:
Code:
480 + self.index * 16
Das ist dann die X-Koordinate im Bild.
self.index ist die Position - 1 des Helden in der Gruppe.
Also geht von 0 - 3 und kann als Offset für die Position verwendet werden, damit nicht alle Helden übereinander stehen.
Für den ersten Helden wären die Positionen dann:
x =: 480 + 0 * 16
y =: 96 + 0 * 64
Der Zweite wäre dann:
x =: 480 + 1 * 16
y =: 96 + 1 * 64
Ich hoffe das war verständlich genug.