Ergebnis 1 bis 7 von 7

Thema: [VX Ace] Problem: Window-Klasse schneidet Content ab

  1. #1

    [VX Ace] Problem: Window-Klasse schneidet Content ab

    Hi,

    ich habe aus Neugier und nach jahrelanger Maker-Pause mal mit dem VX Ace Maker angefangen, hatte mich früher nur mit dem 2000/2003er intensiv auseinandergesetzt und bin jetzt gerade dabei mich mit Ruby anzufreunden.
    Aber da ich nun nach eineinhalb Stunden Internet-Durchforsten nicht auf die passende Lösung meines Problems gekommen bin, versuche ichs mal hier im Forum mit einem Hilfegesuch.

    Kurz: Hab eine eigene Klasse angelegt, die von Window_Base ableitet und in der initialize-Methode dann ein neues Window erzeugt mit X, Y, Width und Height.
    In der refresh-Methode soll dann mit draw_text und draw_icon ein Text und ein Icon gezeichnet werden - das klappt auch soweit. Nur leider schneidet mir das Fenster einen Teil davon ab. Das Icon wird nicht vollständig angezeigt, auch wenn es augenscheinlich noch ins Fenster passen müsste.
    Ich habe irgendein falsch gesetztes Padding dahinter vermutet und mit den Werten auch ein wenig herumgspielt (nebenbei an dieser Stelle die Frage: Was bringt mit der padding_bottom? Was padding allgemein bedeutet und wie es funktioniert, ist mir klar, aber der bottom-Wert hatte bei meinen Experimenten keinerlei Einfluss auf den Content des Windows). Aber egal wohin ich den Text und das Icon auch zeichne, entweder werden oben oder unten ein paar Pixel abgeschnitten.

    Habe gelesen, dass das Standard-Padding bei 12 (px?) liegt, aber wie gesagt - das setzen auf 0 oder negative Werte haben leider nicht geholfen.
    Ich vermute mal, dass ein erfahrener und hilfsbereiter VX Ace User mir relativ einfach bei der Sachen helfen kann... oder?

    Gruss,
    blfreak

    EDIT: Mir ist aufgefallen, dass sich das Problem mit einem Bild wahrscheinlich viel einfacher demonstrieren lässt. Deswegen trage ich das hier mal nach...

    https://picload.org/view/ddilprlr/window1.png.html

    Geändert von bLfReAk (23.01.2018 um 20:03 Uhr)

  2. #2
    Welche Größe hat das Icon?

  3. #3
    Ist eines der Standard Icons, ich glaube das waren 24x24px. Die Höhe des Windows ist glaub ich 44px.

  4. #4
    In deiner neuen Klasse kannst du die padding Methode neu definieren (wenn du das Padding verringern willst):
    Code:
    def standard_padding
        return 0
      end
    Die Window_Base-Klasse, aus der du liest, verwendet überall die Methode "standard_padding" um das Padding zu lesen. Daher wirst du wahrscheinlich erfolglos mit "padding" rumgespielt haben

  5. #5
    Ah, gut zu wissen. Werd's am Wochenende direkt Mal ausprobieren. Vielen Dank!

  6. #6
    Zitat Zitat von bLfReAk Beitrag anzeigen
    Ah, gut zu wissen. Werd's am Wochenende direkt Mal ausprobieren. Vielen Dank!
    Kein Problem. Bei Scripting Problemen (bei denen du selbst gescriptet hast) ist es immer sinnvoll, wenn du dein Script hier postest. So sieht man den Fehler meist schneller

    Edit:
    Und zu deiner Frage bezüglich padding_bottom:
    Mit padding stellst du ein, wie groß das allgemeine Padding ist (padding 0 bedeutet, dass es keinen Abstand zwischen Fensterrand und Content gibt). Nachdem das Padding für alle Seiten gesetzt wurde, kannst du manuell über padding_bottom den Padding Wert der unteren Fensterkante ändern. Dadurch ist es möglich, dass du Links, Rechts und Oben ein anderes Padding hast als Unten.

    Geändert von Linkey (26.01.2018 um 10:25 Uhr)

  7. #7
    Das hat super funktioniert! Danke!

Berechtigungen

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