Hallo zusammen,
ich will die Viewports einiger Charaktere während dem Spiel ändern. Initialisiert wird das bei mir momentan in initialize in Spriteset_Map. Den gleichen Abschnitt hab ich auch in update in Spriteset_Map kopiert:
|
Ruby Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
for i in $game_map.events.keys.sort
if $scene.is_a?(Scene_Map)
evname = $game_map.events[i].event.name
if evname.include? "%"
# Wenn "%" im Namen ist, ist der viewport 2 wenn Switch 11 an ist
if $game_switches[11] == true
viewport = @viewport2
else
viewport = @viewport1
end
else
viewport = @viewport1
end
else
viewport = @viewport1
end
sprite = Sprite_Character.new(viewport, $game_map.events[i])
@character_sprites.push(sprite)
end |
$game_switches[11] ist der Schalter, der bestimmt, ob alle Ereignisse mit "%" im Namen einen höheren Viewport haben soll.
Das funktioniert beim Initialisieren und auch, wenn ich $game_switches[11] während dem Spiel aktiviere.
Problem: Wenn ich im Spiel $game_switches[11] ausschalte, wird zwar anscheinend der Viewport der entsprechenden Ereignisse auf 1 zurückgesetzt, sie werden aber trotzdem noch mit Viewport 2 angezeigt.
Erst wenn ich kurz das Menü aufrufe und wieder schließe werden sie wieder mit Viewport 1 angezeigt.
Ich bräuchte also eine Art Funktion, um die Viewports zu aktualisieren... Hab schon einiges ausprobiert, aber nichts funktioniert.
Hat jemand eine Ahnung, wie das gehen könnte?