Ergebnis 1 bis 3 von 3

Thema: [Erledigt] [XP/RGSS] Nicht-sichtbare Sprite-Variablenänderungen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    [Erledigt] [XP/RGSS] Nicht-sichtbare Sprite-Variablenänderungen

    Ich hab ein Problem mit einem meiner Spriteupdates. Nach einer verschiebung eines Sprites soll dieser wenn entsprechende Angaben übergeben werden in der hue geändert sein. Das soll vorher schon stufenweise gemacht werden, ich hab jetzt oBdA mal nur den Abschlussschritt hier gepostet.
    Alle variablen für die Änderungen sitzen (Sichtbar in Debugging-Ausgabe dieser), aber ich seh die Änderungen nicht auch optisch auf meinem Screen. Da funktioniert alles andere wie gehabt, allerdings seh ich keine hue-Änderung.
    Ich hatte letztens ein ähnliches Problem - Sprites wollten nicht sichtbar werden, nachdem ich ihre opacity auf 255 gesetzt hab, obwohl sie visible waren und an ihrem richtigem Platz standen - und vor der opacity=0 Anweisung es auch wunderbar funktionierte. Wollte mich auch erst dafür an euch wenden, hab das aber Umgangen, in dem ich ein wenig umprogrammiert hab.

    Hier mal der Auszug aus meiner nicht-Funktionierenden Klasse. Sie ist Subklasse von RPG::Sprite (wobei vermutlich Sprite gereicht hätte, aber warum nicht die Funktionen aus RPG::Sprite mitnehmen, vllt könnte man es ja gebrauchen).

    Code:
     def update
        (...)       #diverse Aktionen für Animationen
          @zug_duration_akt -= 1      #Am schluss dieser: aktuelle duration dekrementieren
          if @zug_duration_akt <= 0           #end effect
            case @effect_type     #Abschluss-Aktionen (Kontra Nachkomma-Bugs) je nach vorangegangener Animation-Aktion
            (...) #die anderen beiden Animations-Aktionen
            when "move" 
              self.x = @new_x 
              self.y = @new_y
              if @new_hue != @old_hue          #Braucht nicht neugeladen werden, wenn sich nichts getan hat, und das tut es selten.
                self.bitmap.dispose          #Hätt ich beinahe vergessen, dank KDs Tutorial aber einiges dazugelernt ^^.
                self.bitmap=Bitmap.new("Graphics/Pictures/Kampf_CTB_Chars")         #Grafik des Sprites neu laden
                self.src_rect.set(rectox(pos), rectoy(pos), 62,27 )          #und neu ausschneiden
                self.bitmap.hue_change(@new_hue)          #auf die reloaded grafik den hue-change anwenden
              end
              p "old_hue= "+@old_hue.to_s      #debug-ausgabe
              p "new_hue= "+@new_hue.to_s      #debug-ausgabe
              @hue = @new_hue          #aktuelle hue für spätere old_hue setzen (hm, sollte überlegen ob ich da ne redundante variable hab)
            end 
          (...)      #diverse variablen resets nach der ausführung von animationen
          end
        (...)      #handling für Animations-Quoes
      super
     end
    Und hier die Ausgabe der relevanten Sprites:

    Code:
     old_hue = 0
     new_hue = 320
    Stimmt also alles. Warum zum Teufel also seh ich davon nichts?

    Danke im Vorraus für Antworten - in letzter Zeit verzweifel ich immer öfter an dem Ruby, was ich dachte inzwischen recht gut zu kennen. Ich merke stetig, wie sehr ich mich irre.

    Grüße
    Todu (ich denke ich gewöhn mich einfach an den Tippfehler im Nick - ausser mir kann jemand einen aktien Admin empfehlen. Den letzten den ich deshalb angeschrieben hab, hat sich kommentarlos nicht zurückgemeldet)

    Geändert von Todu (12.11.2011 um 00:09 Uhr) Grund: Erledigt

Stichworte

Berechtigungen

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