Ergebnis 1 bis 17 von 17

Thema: RMXP > Ruby-Script: Bräuchte Hilfe bei grafischem Menu-Window!

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Auch wenn ich nicht Cornix bin: So ungefähr zeigt man allgemein ein Bild im XP an (zumindest machen es die Leute von Enterbrain so). Da du dich mit der Programmierung nicht so auskennst, werde ich dich nicht mit Fachwörtern erschlagen.

    Code:
    class Bild    
      # Grundsätzlich ist es so, dass Bilder auf Bitmap-Objekten angezeigt werden,
      # die wiederum zu einem Sprite gehören. Das Bitmap ist hier quasi so etwas
      # wie eine Zeichenfläche. Nichts anderes wird hier bei "Initialize"
      # angelegt.
      def initialize
        @bild = Sprite.new    
        @bild.bitmap = Bitmap.new(640, 480)       
      end
      
      # Hier wird das Bild angezeigt
      def zeigeBild
        # Der Dateiname kann natürlich auch aus der Datenbank ausgelesen werden,
        # ich hab hier der Einfachheit halber einen festen genommen
        dateiname = "HorstDerStab"
        
        # Damit nun ein Bild angezeigt werden kann, muss man zunächst das zu
        # zeigende Bild aus einer Datei laden. Dies wird dann in einem temporären
        # Bitmap gespeichert
        tempBild = Bitmap.new(dateiname)
        
        # Schließlich muss dem XP gesagt werden, welcher Ausschnitt des Bildes
        # angezeigt werden soll. Dafür wird ein Rechteck definiert.
        # Die Werte sind:
          # x-Koordinate links oben
          # y-Koordinate links oben
          # Die Breite des Ausschnitts
          # Die Höhe des Ausschnitts
        # In diesem Fall soll das ganze Bild anzeigt werden, also starte ich bei
        # 0,0 und nehme Breite und Höhe des Bildes.
        bildRect = Rect.new(0, 0, tempBild.width, tempBild.height)
        
        # Die Methode blt kopiert quasi Pixel für Pixel den gewählten Ausschnitt
        # an die Position, die anfangs angegeben wird, in diesem Fall also 10, 10.    
        # Die Werte sind hier:
          # x-Koordinate links oben
          # y-Koordinate links oben
          # Das Ursprungsbild
          # Der zu kopierende Ausschnitt, der immer als Rect angegeben wird.
        @bild.bitmap.blt(10, 10, tempBild, bildRect)
      end  
    end
    Testen kannst du, indem du per Event-Befehl Script Folgendes eingibst:

    Code:
    $test = Bild.new
    $test.zeigeBild
    Hier noch das Bild zum Testen.

    Das Bild jetzt in einem Menü anzuzeigen, ist natürlich noch etwas komplizierter.

    Ach so, eine Sache hab ich noch vergessen. Grundsätzlich ist es immer gut, die angelegten Bilder zu entfernen, wenn sie nicht mehr benötigt werden. Im Menü wäre das der Fall, wenn der Spieler das Menü verlässt. Dazu ruft man die Methode dispose auf. Beim Beispiel oben müsste dafür noch Folgendes vor das letzte end.

    Code:
    def dispose
       @bild.dispose
    end
    Löschen würde man dann mit

    Code:
    $test.dispose
    Falls ich hier Unsinn schreibe bitte sofort verbessern.

    Geändert von Kelven (10.06.2014 um 16:14 Uhr)

Berechtigungen

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