Nein, die Leiste ist kein Teil des Pac Menüs, ich versuche vielmehr eine HP Leiste wie oben gezeigt in das Script mit einzufügen. Sodass sie erscheint (und nur dann) wenn das Menü aufgerufen wird. Wenn ich das Menü mit escape wieder schließe soll sie verschwinden. Was ich versucht habe: HP-Leisten aus anderen Scripts in das Script zu copypasten und Klassen und Methoden hinzuzufügen, die sie callen sollen. Ich hab echt kein blassen Schimmer wie man das macht und was ich da überhaupt mache. Und wenn ich eine HP Leiste als extrernes Script anzeigen lasse, verschwindet sie immer hinter dem schwarzen (unscharfen) Background.
Poste das Script bitte nochmal und stelle dabei die Smileys vorher aus, damit ich mir das in den Maker reinkopieren kann. Dann schau ich bei Zeiten mal rein.
Du bist echt schnell, vielen Dank. Der Balken ist nur leider leer. Hab jede Farbe ausprobiert und anschließend alle Scripte nacheinander testweise entfernt um zu schauen ob da was nicht miteinander funktioniert. Aber der Balken bleibt leer. Wie zeige ich die Farbe denn an?
So wie ich es hier reinkopiert habe, ist der Balken grün (wenn HP voll), rot (der Teil der HP, der nicht gefüllt ist) und weiß (die Ränder).
Hast du dir denn auch selbst HP abgezogen, um das zu testen?
Ansonsten, was zu beachten ist: Die PAC-Scripte müssen über dem stehen, was ich dir geschickt habe.
Sollte es dennoch nicht funktionieren, kannst du mir auch ein test-projekt schicken, in welches du alle scripts, die du benutzt, in gleicher reihenfolge reinkopierst. Dann kann ich mir das einmal anschauen.
EDIT:
Mein Fehler. Hatte die Update-Methode, warum auch immer, hier nicht mit reinkopiert (hatte die bei mir im Projekt noch auf einer anderen Scriptseite rumfliegen):
Sollte dann so aussehen:
Die "Füllung" der HP erscheint nur sehr zeitverzögert nach dem Aufrufen des Menüs. Lässt sich das möglicherweise noch durch irgendeinen Zusatzbefehl beschleunigen? Könnte an der refresh Methode liegen. Beim verlassen von Untermenüs (Items) baut sich die Füllung ebenso zeitverzögert auf.
Natürlich. Pack noch in diese Zeile in die create methode: update_hp_bar_window
Ging davon aus, dass die Update-Methode so oder so immediately aufgerufen wird. Scheinbar aber erst nach einigen Frames.
Ah, eine Sache vielleicht noch (auch wenn es vielleicht "pingelig" erscheinen mag. Bekommt man die Füllung der HP noch irgendwie unter die Box? Also dass die Farbe nicht "übersteht" und die inneren Ränder der Box auch zu erkennen sind. Es soll aussehen wie Blut in einem Gefäß. Weißt du was ich meine? Ansonsten kann ich es gern versuchen mit Paint zu skizzieren.
Dafür habe ich dir BORDER_WIDTH als Konstante zum Einstellen mitgegeben. Trag dort mal eine 6 ein, dass sollte generell der gesamte Rahmen angezeigt werden.
Wenn du noch an den Ecken eine Krümmung willst, kann ich mir das später anschauen.
Mal was anderes: Ich hab im anderen Topic das Feedback bekommen, ich solle einheitlichere Fenstergrößen verwenden. Nun wollte ich das Hauptmenü entsprechend anpassen, sehe aber kein Befehl, der es mir möglich macht, die Fenstergröße einzustellen. Sämtliches Ausprobieren verschiebt das Fenster lediglich, aber die Höhen und Breitenmaße scheinen uneditierbar. Kennt sich damit jemand aus oder übersehe ich in dem Skript vielleicht auch was?
Die meisten Baisc-Windows bekommen ihre größe bei der Initialisierung mitgegeben. Schau mal in den Scripten an die Stellen, wo die Windows initialisiert werden (Window_Name.new(...)).
Lustigerweise funktioniert es sogar. Es sieht aber richtig, richtig scheiße aus! Schade, müsste wohl sämtliche Fenster ineinander schieben, damit das gut aussieht.
FRAGE: Wie mach ich denn die HP-Leiste um 8 Pixel länger? HP_HEIGHT = 108 ändert leider nichts
Geändert von Ken der Kot (12.03.2018 um 18:47 Uhr)
Um Fenster gleichgroß zu machen, errechnet man sich entweder die größte Größe und wendet diese dann auf alle Fenster an, oder man setzt alle Fenster gleich dem größten.
Die HP-Leiste könntest du mit der Konstanten HP_HEIGHT setzen - aber nur, wenn die Höhe nicht schon beim Initialisieren mitgegeben wird. Das habe ich deshalb eingebaut, damit du die Möglichkeit hast, eine fixe Höhe einzustellen.
Aktuell wird die HP_Bar wiefolgt erzeugt:
def create_hp_bar_window @hp_bar_window = LDT_Window_HPBar.new(@command_window.width,0,@command_window.height)
end
Durch den Befehl ist das Fenster genauso hoch wie das Command-Window. Willst du stattdessen eine fixe Größe verwenden, kannst du "@command_window_height" dort entfernen oder durch "nil" ersetzen.