Ergebnis 1 bis 20 von 215

Thema: diäitsch's Problem Sammelthread (Xp) :D

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Bevor ich zu meiner nächsten Frage komme, muss ich mal loswerden, dass ich es super finde, wie verlässlich diese Community doch ist,
    wenn es um Problemlösungen geht.
    Nun zu meiner Frage: Im Kampfbildschirm hat man neben den aktuellen Lebens- und Magiepunkte ja auch noch den Status stehen, welcher
    normalerweise "[Normal]" ist. In meinem neuen Projekt werden Statusveränderungen keine Rolle spielen, daher kann diese Anzeige auch
    weg, bloß wie? habe in der Library nichts gefunden... Natürlich kann man das Ganze auch via Picture überdecken, aber das lässt sich
    doch bestimmt auch eleganter lösen, oder?

    MfG, diäitsch

  2. #2
    In der Klasse "Window_BattleStatus" suchst du in Zeile 33 die Methode:
    Code:
    def refresh
        self.contents.clear
        @item_max = $game_party.actors.size
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          actor_x = i * 160 + 4
          draw_actor_name(actor, actor_x, 0)
          draw_actor_hp(actor, actor_x, 32, 120)
          draw_actor_sp(actor, actor_x, 64, 120)
          if @level_up_flags[i]
            self.contents.font.color = normal_color
            self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
          else
            draw_actor_state(actor, actor_x, 96)
          end
        end
      end
    dort löscht du die Zeilen:
    Code:
          else
            draw_actor_state(actor, actor_x, 96)
    Sodass die Methode im Nachhinein nurnoch wie folgt aussieht:
    Code:
    def refresh
        self.contents.clear
        @item_max = $game_party.actors.size
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          actor_x = i * 160 + 4
          draw_actor_name(actor, actor_x, 0)
          draw_actor_hp(actor, actor_x, 32, 120)
          draw_actor_sp(actor, actor_x, 64, 120)
          if @level_up_flags[i]
            self.contents.font.color = normal_color
            self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
          end
        end
      end
    Und nun sollte es eigentlich geschehen sein.

  3. #3
    Oh, dachte das stände, wie auch vieles andere in lilaner Schrift irgendwo.
    Vielen Dank, Cornix.^^

  4. #4
    Die Purpurne Syntax-Färbung ist lediglich für konstante Strings, also Zeichenfolgen die bereits fest im Programm stehen. Hierbei handelt es sich jedoch um einen Funktionsaufruf.

  5. #5
    Hallo Community,
    momentan arbeite ich an einem kleinen Projekt und habe ein sehr ärgerliches Problem.
    Es geht um eine 49x45 Tiles große Map, welche Fackeln an den Wänden aufweist, insgesamt sind es 32.
    Jedenfalls soll jede dieser Fackeln auch brennen. Nun wollte ich es umgehen, diese Map mit 32 zusätzlichen
    Events zu belasten, also habe ich einen großen Fog erstellt, der die Flammen enthält. Dieser sollte sich alle 5 Frames
    ändern, da die Flammen 4-fach animiert sind. Das Problem ist nur, dass das Spiel dann alle 5 Frames stockt...
    Habe gerade mal probiert das ganze in ein riesiges (6272x5760 Pixel großes) Charset zu packen, dieses jedoch lässt
    sich nicht in das Projekt importieren (von wegen unbegrenzte Charset Größen im Rpg maker Xp).
    Zwar könnte ich diese 32 Events in weitaus weniger Charsets zusammenfassen, aber vielleicht weiß jemand von euch
    eine bessere Lösung, würde das ganze eigentlich sehr gerne über den Fog regeln.

    MfG, diäitsch

  6. #6
    Das hängt damit zusammen, dass der Maker nicht ordentlich cacht. Die Fogs werden jedes Mal neu aus der Datei geladen. Im Scripteditor ab Zeile 108 findest du
    Code:
    if @fog.bitmap != nil
      @fog.bitmap.dispose
      @fog.bitmap = nil
    end
    Hier die Zeile mit dem Dispose auskommentieren (# davor schreiben), so dass da steht
    Code:
    if @fog.bitmap != nil
    #  @fog.bitmap.dispose
      @fog.bitmap = nil
    end
    Aber Achtung: Wenn du viele verschiedene Fogs einsetzt und die nie gelöscht werden, kann das auf Dauer den Speicher belasten. Ein Kompromiss wäre, Fogs pro Map zu cachen. Das sieht
    dann so aus:
    Code:
    if @fog.bitmap != nil
            #  @fog.bitmap.dispose
            (@used_fogs ||= {})[@fog.bitmap] = true
            @fog.bitmap = nil
          end
    Und dann bei dispose (ab Zeile 58)
    Code:
     def dispose
        # Dispose of tilemap
        @tilemap.tileset.dispose
        for i in 0..6
          @tilemap.autotiles[i].dispose
        end
        @tilemap.dispose
        # Dispose of panorama plane
        @panorama.dispose
        # Dispose of fog plane
    
        # edit
        if @used_fogs
          @used_fogs.each_key {|fog| fog.dispose unless fog.disposed?}
          @used_fogs.clear
        end
    
        # Dispose of character sprites
        for sprite in @character_sprites
          sprite.dispose
        end

    Geändert von -KD- (19.07.2012 um 17:48 Uhr)

  7. #7
    Genial! Velen Dank für deine schnelle Hilfe.

  8. #8
    Guten Morgen,
    ich habe eine Frage und zwar habe ich die Schriftfarbe meines Projekts von weiß in schwarz geändert, jedoch gibt es noch zwei Dinge,
    die noch immer in weißer Schrift angezeigt werden und bei denen ich im Script-Editor nichts finde. Dies sind zum einen die Auswahlmöglichkeiten
    des Shop processing (Buy, Sell, Quit), zum anderen ist das die Anzeige "miss" im Kampfsystem. Kann mir jemand sagen wo ich das ebenfalls
    ändern kann?

  9. #9
    Wo genau hast du die Font.color in deinem Projekt geändert?
    Für diverse Fenster werden im XP fest vordefinierte Farben verwendet welche du in der Klasse "Window_Base" ändern kannst.
    Für die Schrift im Kampfsystem musst du die Klasse "RPG::Sprite" ändern welche jedoch nicht im Script-Editor vorhanden ist sondern versteckt im RGSS.
    Du kannst den Quellcode der Klasse in der Hilfedatei des Makers betrachten und musst ihn im Script-Editor überschreiben um die Schriftfarbe ändern zu können.

  10. #10
    Habe sie in der Window Base geändert.
    Wenn ich jetzt darüber nachdenke wäre es evtl. besser die Farbe im KS weiß zu lassen, jedoch stört die weiße "Farbe"
    im Shop processing. Habe mal in der Hilfsdatei nachgesehen, kann diesbezüglich aber nichts finden.

  11. #11
    Also wie gesagt, bin mit allem zufrieden, verstehe halt nur nicht wieso im Shop processing nur diese drei Auswahlmöglichkeiten noch in weißer Schrift
    angezeigt werden. Auch ist es mir ein Rätsel wo man das ändern kann. Man sollte doch meinen dass sich dies dort ändern lasse, wo man auch die
    Schriftfarben der anderen Wörter ändern kann, welche ebenfalls im Shop processing angezeigt werden...

  12. #12
    Ich habe mich nocheinmal durch das Script gelesen. Es werden dort nur die Farben verwendet welche in der Window_Base-Klasse angegeben werden, nämlich: normal_color, system_color und disabled_color.

Berechtigungen

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