Ergebnis 1 bis 8 von 8

Thema: Warum färben sich Show Picture bei Tintscreen nicht mit?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Aber Wettereffects färben auch die Pictures mit, wie ich gerade erfahr. Das bedeutet ja man müsste da nur irgendwie schauen, daß man die Färbung irgendwie selbst bestimmen kann. Geht das denn irgendwie infacher?

    Grüße

    Dein Ken der Kot

  2. #2
    Was für ein Script nutzt du denn für die Wettereffekte?

  3. #3
    Sieh dir mal das Script "Spriteset_Map" an, das Einfärben findet in update_viewports statt.
    Code:
      #--------------------------------------------------------------------------
      # * Update Viewport
      #--------------------------------------------------------------------------
      def update_viewports
        @viewport1.tone.set($game_map.screen.tone)
        @viewport1.ox = $game_map.screen.shake
        @viewport2.color.set($game_map.screen.flash_color)
        @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
        @viewport1.update
        @viewport2.update
        @viewport3.update
      end
    Die erste Zeile der Methode ist hier das Problem. Tint Screen beinflusst nur Sachen die mit "viewport1" als Viewport erstellt wurden (@viewport1.tone.set($game_map.screen.tone)). Pictures und Wetter haben aber beide "viewport2" (Deshalb beinflusst das Wetter die Pictures, was ich aber eher als Bug bezeichnen würde...)

    In der Theorie sollte es genügen, Pictures "viewport1" zuzuweisen, führt aber vermutlich zu Prioritätsproblemen. Aber wir können auch einfach einen eigenen Viewport erstellen und den mit den Werten von Tint Screen einfärben.

    Versuch mal folgendes in einen neuen Scriptslot einfügt:
    Code:
    class Spriteset_Map
      alias :original_create_viewports :create_viewports
      def create_viewports
        original_create_viewports
        @picture_viewport = Viewport.new
        @picture_viewport.z = 49
      end
      
      def update_pictures
        $game_map.screen.pictures.each do |pic|
          @picture_sprites[pic.number] ||= Sprite_Picture.new(@picture_viewport, pic)
          @picture_sprites[pic.number].update
        end
      end
      
      alias :original_update_viewports :update_viewports
      def update_viewports
        original_update_viewports
        @picture_viewport.tone.set($game_map.screen.tone)
        @picture_viewport.ox = $game_map.screen.shake
      end
      
      alias :original_dispose_viewports :dispose_viewports
      def dispose_viewports
        original_dispose_viewports
        @picture_viewport.dispose
      end
    end
    Pictures werden nun auch von Shake Screen beinflusst. Wenn du das nicht willst, die Zeile @picture_viewport.ox = $game_map.screen.shake auskommentieren/löschen.
    Ungetestet, da ich hier keinen Maker installiert sondern nur die Scripte rumliegen habe.

  4. #4
    Scheint zu klappen. Danke, Cepanks. Bester Mann!

    Grüße

    Dein Ken der Kot

Berechtigungen

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