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
    Einfach das als neues Script über Main einfügen:
    Code:
    class Window_Command_Horizontal < Window_Selectable
      def initialize(commands)
        @commands = commands
        super(0, 0, compute_menu_width(), 64)
        self.contents = Bitmap.new(width-32, height-32)
        @item_max = @commands.size
        @column_max = @commands.size
        @index = 0
        refresh
      end
     
      def refresh
        contents.clear
        contents.font.color = normal_color()
        @commands.each_index do |index|
          draw_item(index)
        end
      end
     
      def draw_item(index)
        contents.draw_text(text_rect(index), @commands[index].to_s, 1)
      end
     
      def disable_item(index)
        contents.fill_rect(text_rect(index), Color.new(0, 0, 0, 0))
        contents.font.color = disabled_color()
        draw_item(index)
      end
     
      def text_rect(index)
        w = width/@commands.size
        Rect.new(index * w, 0, w-32, 32)
      end
     
      def compute_menu_width
        bitmap = Bitmap.new(1, 1)
        widths = @commands.map do |command|
          bitmap.text_size(command.to_s).width
        end
        (widths.max + 32) * @commands.size + 32
      end
     
    end
    und dann in Scene_Title die Stelle wo eine Instanz von Window_Command erzeugt wird, durch Window_Command_Horizontal ersetzen.

  2. #2
    Hallo Community,
    ich würde gerne einen Wettereffekt anzeigen lassen im Titelmenü, also über dem Titelbild.
    Um präzise zu sein, es geht um den Schnee WeatherEffect.

    MfG, diäitsch

  3. #3
    <== Frage weiterhin aktuell.
    Bitte um Antwort.

  4. #4
    <== <== Frage weiterhin aktuell.
    Bitte um Antwort.

  5. #5
    Der RPG-Maker XP besitzt keine eingebaute Funktion um Wettereffekte zu erstellen.
    Der VX besitzt zwar solch eine Funktion, intern wird jedoch auch nur ein neues Bitmap erschaffen und ein Schnee-Effekt darauf gezeichnet.

    Ich würde dir raten es dir einfacher zu machen und einfach ein Bild des Schnee-Effektes zu erstellen oder aus dem Internet zu suchen, diesen als Plane in einen Viewport zu stecken und dann periodisch die Offset-Werte für X und Y-Koordinaten zu manipulieren je nachdem wie schnell oder langsam du den Schnee fallen haben möchtest.
    Wenn du dir viel mühe geben willst kannst du auch separate Sprites für jede "Zeile" des Schnee-Effektes erstellen und diese dann individuell bewegen lassen um es weniger "systematisch" fallen zu lassen.

  6. #6
    Oder du überspringst die Title-Scene und bastelst dir auf einer Map einen eigenen Title...

  7. #7
    @Cornix:
    Hm, ich dachte man könne einfach den Effekt den man auf den Maps einstellen kann, im Script Editor in Scene Title oder so kopieren.
    Naja, danke für die Antwort, muss mal gucken für welche Methode ich mich entscheide oder ob ich's einfach bei 'nem normalen TB belasse.

    @Sorata:
    Wäre dann auch eine Möglichkeit. Scripte dafür finden sich ja wie Sand am Meer.

  8. #8
    Zitat Zitat von diäitsch Beitrag anzeigen
    @Cornix:
    Hm, ich dachte man könne einfach den Effekt den man auf den Maps einstellen kann, im Script Editor in Scene Title oder so kopieren.
    Kannst du auch. Der XP hat das Wetter-Script zwar nicht direkt im Editor, aber es lässt sich in der Hilfe-Datei anschauen.


    Sofern du den normalen Standard-Titelbildschirm verwendest sollte es also reichen, in Scene_Title folgende Zeilen hinzuzufügen:

    In Scene_Title#main irgendwo vor Graphics.transition
    Code:
    @weather = RPG::Weather.new
    @weather.type = 3 # 0=Kein Wettereffekt, 1=Regen, 2=Sturm, 3=Schnee
    @weather.max = 40 # Wetterstärke (0-40)
    In Scene_Title#main irgendwo nach Graphics.freeze (Am besten einfach ans Ende der Methode)
    Code:
    @weather.dispose
    Irgendwo in Scene_Title#update (Am besten einfach ans Ende der Methode)
    Code:
    @weather.update

  9. #9
    Tatsächlich.
    Ich habe mich lediglich auf den Script-Editor gestützt und dort keine Wettermethoden gefunden.
    Ich habe garnicht daran gedacht, dass die Wettereffekte derart versteckt werden würden.

  10. #10
    Ist bei einige der Klassen, die die Enterbrain-Leute als Kern des RGSS gesehen haben so. GLücklicherweise ist in der Hilfedatei zu allein nicht-Ruby-RGSS-Klassen der Sourcecode und gute Kommentierung zu finden.

  11. #11
    Hallo Community,
    ich hätte eine Frage bzgl. des KS des Makers.
    Wenn ich während eines Kampfes ein Picture anzeigen lasse, legt sich dieses über den Windowskin, wenn ich z.B. Techniken auswählen will.
    Was muss ich wo umschreiben, das sich der Windowskin über das Picture legt?
    Meine zweite Frage wäre, wie ich es vermeiden kann, das nach dem Kampf das Fenster erscheint in dem drinsteht wieviel EP und Geld man gewonnen hat.
    Ich hoffe jemand kann mir helfen.

    MfG, diäitsch

  12. #12
    Das mit den Picturen ist ein wenig kompliziert. Es ist so, dass alle Arten von Grafiken welche auf dem Bildschirm dargestellt werden sollen in einen Viewport gepackt werden müssen.
    Im Kampf sind zum Beispiel das Hintergrundbild und die Feinde in einem Viewport. In einem zweiten sind die Charaktersprites. In einem nächsten sind dann die Pictures. Und so weiter.
    Die Fenster werden allerdings im RPG-Maker XP standardmäßig in keinen Viewport gepackt, demnach also in einen generischen standardviewport auf welchen du keinen Einfluss nehmen kannst.
    Die Z-Position der Grafiken, also welche Grafik über einer anderen dargestellt wird, ist aber auch von ihrem Viewport abhängig. Viewports besitzen ebenfalls eine Z-Koordinate und falls ein Viewport über einem anderen liegt so liegen gleichzeitig auch alle Sprites innerhalb dieses Viewports über allen aus dem anderen.

    Um die Pictures nun also unter die Fenster zu schieben müsstest du den Fenstern einen Viewport geben und das wäre ein wenig mehr Arbeit, es würde vor allem gutes Verständnis von dem was man machen will erfordern.

    Eine einfachere Lösung könnte natürlich für dich sein einfach die Höhe des Viewports auf welchem die Pictures gelegt werden zu beschränken insofern dieser garnichtmehr bis zu den Fenstern am unteren Bildschirmrand reichen wird.

    In dem Script: "Spriteset_Battle" findest du dafür in Zeile 21 die Anweisung:
    Code:
    @viewport3 = Viewport.new(0, 0, 640, 480)
    [Anmerkung: Parameter für einen Viewport sind: (x, y, width, height).]

    Dieser Viewport ist derjenige welcher die Pictures umfasst. Wenn du die Höhe, also die "480" in dieser Zeile nun variierst werden die Pictures garnichtmehr bis zu den Fenstern reichen dürfen.
    Versuche es einmal diese Zeile mit folgender auszutauschen:
    Code:
    @viewport3 = Viewport.new(0, 0, 640, 320)
    Für dein zweites Problem versuche einmal folgendes:
    In dem Script: "Scene_Battle 2" tauscht du die Zeilen 191 bis 194 welche lauten:
    Code:
    # Make battle result window
        @result_window = Window_BattleResult.new(exp, gold, treasures)
        # Set wait count
        @phase5_wait_count = 100
    gegen diese Zeilen aus:
    Code:
    @status_window.refresh
        battle_end(0)
    Das sollte eigentlich bereits alles sein was zu tun ist.

Berechtigungen

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