Guten Abend.
Ich bin in meinem Hauptprojekt letztens auf ein visuelles Problem gestoßen welches ich bisher einfach nicht zu lösen geschafft habe, beziehungsweise nichteinmal die Ursache ausmachen konnte.
Die Sache ist diejenige, dass jedes Mal wenn ich bei irgendeinem Sprite die Funktion ".angle = " mit einem anderen Wert als "0" aufrufe der Sprite einfach unsichtbar wird.
@some_sprite.angle = 1 # => Sprite wird unsichtbar
@some_sprite.angle = 0 # => Sprite wird wieder sichtbar...
Dieses Problem ist für mich vollkommen uneinsichtlich.
Ich habe:
- Die Funktion in einem anderen Projekt getestet wo es funktioniert.
- Die Klasse "Sprite" nirgendwo verändert oder erweitert.
- Es mit mehreren Unterklassen der Klasse Sprite, mit der Klasse RPG::Sprite und auch mit einer Instanz der Klasse Sprite direkt versucht. Überall das gleiche Ergebnis.
- Ich habe alle möglichen Statuswerte des Sprites getestet, darunter:
- .visible # true
- .opacity # 255
- .color # (0,0,0,0)
- .tone # (0,0,0,0)
- .bush_depth # 0
- .zoom_x # 1.0
- .zoom_y # 1.0
- .src_rect # (0,0,16,96) Korrekt!
- .x # 900 Korrekt!
- .y # 256 Korrekt!
- .z # 256 Korrekt!
- .ox # 8 Korrekt!
- .oy # 8 Korrekt!
- .angle # 1.0
- .bitmap # Korrekt!
Ich habe den Sprite ersteinmal erstellen lassen, mit allen Werten korrekt gesetzt. Ich kann ihn sehen. Ich rufe eine Methode auf um den Winkel zu verändern und anschließend ist der Sprite unsichtbar. Danach habe ich die oben aufgeführte Liste von Statuswerten ausgeben lassen und exakt diese Ergebnisse erhalten. Alles scheint richtig gesetzt zu sein.
Ich weis auch, dass es nicht an dem Bitmap liegt da ich mehrere Sprites mit dem selben Bitmap gleichzeitig darstellen lasse, die übrigen bleiben völlig sichtbar.
Meine einzige Idee wäre, dass ich vielleicht irgendeinen Konstanten-Namen verwende welcher nichtverwendet werden darf. Aber ist soetwas denkbar?
Ich bin am verzweifeln, ich weis beim besten Willen nicht was hier vorgeht und brauche dringend Hilfe.
Ich hoffe auf baldige Antworten, vielen Dank im Vorraus!