Ergebnis 1 bis 20 von 323

Thema: Kleine RmXP FAQ

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Aldinsys II. Beitrag anzeigen
    Erstell doch zwei Variablen für die Heldenposition.
    Dann lässt du das Picture zentral an der Heldenposition anzeigen.
    Wenn mich nicht alles täuscht, bewirkt der "Move with map"-Befehl, dass das Bild sich eben nicht mit dem Helden, sondern mit der Map bewegt.

  2. #2
    Den Befehl gibt es standardmässig nicht mehr, also musst du das über ein Rubyscript lösen.

  3. #3
    So , ich hätte auch ml ne Frage.
    Gibt es ne Möglichkeit diesen "Which file load"-Text (oder so ähnlich) im Save-/Load-Menü zu umrahmen? Denn so einfach nur ein weißer Schriftzug sieht da so... doof aus. Und ich hab auch niicht wirklich Lust deswegen mein halbes Design zu verwerfen.
    Bislang habe ich Umrandungen immer so gemacht:

    Code:
    self.contents.font.color = outline_color
     self.contents.draw_text(5, 10, 220, 32, "Aufenthaltsort:")
     self.contents.draw_text(5, 12, 220, 32, "Aufenthaltsort:")
     self.contents.draw_text(3, 10, 220, 32, "Aufenthaltsort:")
     self.contents.draw_text(3, 12, 220, 32, "Aufenthaltsort:")
     self.contents.font.color = Color.new(254, 230, 159, 255)
     self.contents.draw_text(4, 11, 220, 32, "Aufenthaltsort:")
    (Beispiel aus dem Menü)

    Die Methode klappt aber scheinbar nicht beim Laden/Speichern. Zumindest komme ich damit nichtmal mehr bis zum Titelbild, bis mir ne Fehlermeldung vorgesetzt wird. Aber viellecht habe ich auch einfach nen falschen Befehl benutzt...
    Hätte jemand nen Lösungsvorschlag?

  4. #4
    Wäre nützlich zu erfahren, wie die Fehlermeldung lautet. Dann kann man such auch ungefähr vorstellen, was du ggf. falsch gemacht haben könntest.

    Der Text wird im HelpWindow angezeigt. Das ist insofern problematisch, dass wenn du dieses Window veränderst, auch das Window im Skillmenü und dergleichen eine verzierte Schrift aufweisen wird. Um das zu verhindern müsste man also das eine neue Klasse schreiben.
    Vorerst aber würde ich für deine umrahmte Schrift eine extra Methode schreiben:
    Code:
    class Bitmap
      def schreibe_umrandung(x,y,weite,hoehe,text,ausrichtung=0, rahmen=outline)
        standard = self.font.color.dup
        self.font.color = rahmen
        self.draw_text(x+1, y-1, weite, hoehe, text, ausrichtung)
        self.draw_text(x+1, y+1, weite, hoehe, text, ausrichtung)
        self.draw_text(x-1, y-1, weite, hoehe, text, ausrichtung)
        self.draw_text(x-1, y+1, weite, hoehe, text, ausrichtung)
        self.font.color = standard
        self.draw_text(x, y, weite, hoehe, text, ausrichtung)
      end
      def outline
        Color.new(255, 255, 255, 255) #Hier die Standardfarbe für Rahmen 
      end
      private(:outline)
    end
    Nun müsstest du mit dem Befehl
    Code:
    self.contents.schreibe_umrandung(4, 11, 220, 32, "Aufenthaltsort:")
    automatisch einen umrandeten Text bekommen, ohne das du dafür etliche Codezeilen schreiben musst.

    Als nächstes musst du die Klasse Window_Help so verändern, dass sie mit umrahmter Schrift arbeitet.
    Code:
    class Window_Help_Border < Window_Help
      def set_text(text, align = 0)
        # If at least one part of text and alignment differ from last time
        if text != @text or align != @align
          # Redraw text
          self.contents.clear
          self.contents.font.color = normal_color
          self.contents.schreibe_umrandung(4, 0, self.width - 40, 32, text, align)
          @text = text
          @align = align
          @actor = nil
        end
        self.visible = true
      end
    end
    Zuletzt muss noch in die Scene_File das Window_Help in Window_Help_Border umgeschrieben werden:
    Code:
    class Scene_File
      def main
        # Make help window
        @help_window = Window_Help_Border.new
        @help_window.set_text(@help_text)
        # Make save file window
        @savefile_windows = []
        for i in 0..3
          @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
        end
        # Select last file to be operated
        @file_index = $game_temp.last_file_index
        @savefile_windows[@file_index].selected = true
        # Execute transition
        Graphics.transition
        # Main loop
        loop do
          # Update game screen
          Graphics.update
          # Update input information
          Input.update
          # Frame update
          update
          # Abort loop if screen is changed
          if $scene != self
            break
          end
        end
        # Prepare for transition
        Graphics.freeze
        # Dispose of windows
        @help_window.dispose
        for i in @savefile_windows
          i.dispose
        end
      end
    end

  5. #5
    @-KD-:
    Nya, das einzige was ich lesen konnte war "Syntax Error" und die Zeilenangabe, da ich aber was RGSS angeht ein blutiger Anfänger bin wusste ich nur wie ich den Kram wieder Rückgängig machen kann... xD

    Danke jedenfalls, klappt einwandfrei. Ich musste nur einige Zeilen anpassen da ich irgendwie ne andere Version zu haben scheine, die andere Befehle benutzt, statt window_help_border nur window_help beispielsweise. oô

    Nya, es klappt jedenfalls wunderbar. Vielen Dank! ^^

  6. #6
    Window_Help_Border ist eine neue Klasse, die speziell für HelpWindows mit umrandeter Schrift gedacht ist *g* Sonst ist deine Schrift im Skill- und Kampfmenü beispielsweise auch umrandet.

Berechtigungen

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