Ergebnis 1 bis 13 von 13

Thema: Noch ne Frage^^ Font wechsel?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Du siehst die Klasse nicht im Script-Editor weil es eine Klasse des RGSS ist, also der Bibliothek dahinter.
    Du kannst dir die Dokumentation der Klasse in der Hilfe-Datei durchlesen.

    Und um dem Timer ein Window zu geben müsstest du die Klasse "Sprite_Timer" verändern.

    Das ist zwar nicht getestet, aber falls du die Standard-Timer-Sprite-Klasse umschreiben würdest, dass sie ungefähr so wie folgt aussieht sollte es prinzipiell funktionieren:
    Code:
    class Sprite_Timer < Window
      #--------------------------------------------------------------------------
      # * Object Initialization
      #--------------------------------------------------------------------------
      def initialize
        super
        self.width = 88 + 32
        self.height = 48 + 32
        self.x = 640 - self.width
        self.y = 0
        self.z = 500
        self.contents = Bitmap.new(self.width - 32, self.height - 32)
        self.contents.font.name = "Arial"
        self.contents.font.size = 32
        self.update
      end
      #--------------------------------------------------------------------------
      # * Dispose
      #--------------------------------------------------------------------------
      def dispose
        if self.contents != nil
          self.contents.dispose
        end
        super
      end
      #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      def update
        super
        # Set timer to visible if working
        self.visible = $game_system.timer_working
        # If timer needs to be redrawn
        if $game_system.timer / Graphics.frame_rate != @total_sec
          # Clear window contents
          self.contents.clear
          # Calculate total number of seconds
          @total_sec = $game_system.timer / Graphics.frame_rate
          # Make a string for displaying the timer
          min = @total_sec / 60
          sec = @total_sec % 60
          text = sprintf("%02d:%02d", min, sec)
          # Draw timer
          self.contents.font.color.set(255, 255, 255)
          self.contents.draw_text(self.contents.rect, text, 1)
        end
      end
    end
    Es könnte sein, dass noch vereinzelnte Probleme auftauchen, aber so ungefähr sollte das Endergebnis aussehen.

  2. #2
    Also muss ich die Font in der Hilfe-Datei ändern? oO

    Ich blicke nicht mehr durch xD

  3. #3
    Du musst die Klasse überhaupt nicht ändern. Das kannst du auch garnicht.
    Du musst lediglich die oben von mir genannten Funktionen mit den entsprechenden Parametern aufrufen.

    Zum Beispiel:
    Code:
    Font.default_name = "Arial"
    würde die standard Schriftart von allen Bitmaps, dessen Font nicht weiter spezifiziert worden ist, auf Arial setzen.

  4. #4
    JO, hab ich schon geändert^^
    Nur konnte ich die Schirft-fareb nciht ändern :/


    Die Box wird nicht angezeigt :/
    Ich spiel mal etwas damit rum, vllt klappts ja...

  5. #5
    Die Schriftfarbe änderst du über den Befehl:
    Code:
    Font.default_color = some_color_object
    also, zum Beispiel, um die Schrift auf ein starkes Rot zu setzen:
    Code:
    Font.default_color = Color.new(255, 0, 0, 255)
    Außerdem, von was für einer "Box" redest du?

  6. #6
    Achso, man muss noch ein Color.new vor den Zahlen setzen xD
    Hab da normal_color hingeschrieben und dann das standard für Weiß xD

    Um den Timer.
    Also so wie bei normalen Texten, nur das die auch bei dem TImer ist.
    EIne weiße Schrift auf Schnee-Landschaft sieht man nicht :/

  7. #7
    Natürlich wird sie nicht angezeigt, ich habe nämlich bei meinem Code-Beispiel eine Zeile vergessen.
    Du musst dem Fenster auch sagen, welchen Window-Skin es verwenden soll.
    Daher musst du außerdem noch die folgende Zeile in den Code der "initialization"-Funktion einführen:
    Code:
    self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)

  8. #8
    Hab ausprobiert, da kommt dann ne Fehlermeldung :/

    Der Name der Windowskin ist Windowskin...
    Hab ich auch eingegeben, funzt aber nicht :/

    Muss das an eine bestimmter Stelle?

  9. #9
    Was für eine Fehlermeldung, bitte den genauen Wortlaut wiederholen.
    Am besten du zeigst auch das Script welches den Fehler hervorruft.

  10. #10
    Ach, ops xD
    Musste man bei "name" den Namen der Windowskin hinschreiben?

    Weil als der Name dort stand, kam ein Fehler.
    Jetzt hab ich den nochmal ohne, also wo nur name steht versucht, jetzt gehts x3

    Danke

Berechtigungen

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