Ergebnis 1 bis 12 von 12

Thema: [RPG-Maker VX] Title Screen - Schlicht aber nicht Default?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zum Wettereffekt:
    Allzu schwer ist der Effekt nicht einzufügen, da dazu bereits eine passende Klasse existiert: Spriteset_Weather.
    Um den Wettereffekt einzubinden sind letztlich nur noch folgende Schritte nötig:

    1. Beim Start des Titelmenüs muss ein neues "Spriteset_Weather" erzeugt und in einer Variablen gespeichert werden.
    Dazu muss in der Methode "start" in Scene_Title folgende Zeile eingefügt werden:
    Code:
    @wettereffekt = Spriteset_Weather.new
    Über die gewählte Variable (hier @wettereffekt) kann anschließend auf das neue Objekt zugegriffen werden.
    Da der Wettereffekt, die Hintergrundgrafik und das Kommandofenster standardmäßig die selbe Priorität (z-Koordinate) haben sollte diese Zeile zwischen create_title_graphic und create_command_window eingefügt werden.


    2. Für einen Wettereffekt können Wettertyp und Wetterstärke eingestellt werden. Dazu können nach der Erstellung folgende Aufrufe getätigt werden:
    Code:
    @wettereffekt.type = 1          # <- 0: kein Wetter, 1: Regen, 2: Sturm, 3: Schneefall  -  in diesem Fall wurde Regen gewählt
    @wettereffekt.max = 25          # <- Wetterstärke: hier darf eine ganze Zahl zwischen 0 und 40 gewählt werden
    3. Damit der Wettereffekt auch animiert ist und nicht fest auf dem Bildschirm klebt muss die Wetterbewegung aktualisiert werden.
    Auch hier nimmt dir das Spriteset_Weather fast alle Arbeit ab, es muss nur jedes Mal
    Code:
    @wettereffekt.update
    aufgerufen werden wenn sich die Animation weiterbewegen soll. Damit das regelmäßig passiert sollte diese Zeile in die update-Methode von Scene_Title eingefügt werden (wird regelmäßig aufgerufen).

    4. Wird das Titelmenü beendet sollte saubererweise auch der Wettereffekt beendet werden.
    Dazu sollte in der terminate-Methode von Scene_Title folgende Zeile eingefügt werden:
    Code:
    @wettereffekt.dispose
    Sollte zumindest so funktionieren, habe den RMVX lange nicht mehr ausprobiert

    Geändert von ETeCe (29.09.2012 um 11:19 Uhr)

  2. #2
    Spitze, danke. Hab jetzt alles, was ihr dankenswerterweise so übersichtlich aufgeschrieben habt, mal angewandt. Vieles funktioniert auch.
    Nur leider wirkt die Veränderung der sprite.opacity für den Titelhintergrund nicht in Kombination mit dem gezeichneten Text. Einzeln funktioniert beides. Wende ich aber beides an, bleibt der Hintergrund einfach so vollständig sichtbar.

    Leider passiert beim Einfügen der Zeilen für den Wettereffekt jar nüscht. Die Variable (der Code unter 1. deines Posts) habe ich in "Start Processing", unmittelbar gefolgt vom Code unter 2. Den Update (unter 3.) habe ich in "Frame Update" eingefügt. Und der Code aus 4. ist in Termination Processing hinterlegt. Ich vermute ja, dass ich die Variable an der falschen Stelle gesetzt habe, aber wo wäre sie richtig gewesen?

  3. #3
    Könntest du vielleicht den kompletten, von dir veränderten, Code einmal hier schreiben damit wir darüberschauen können? Vor allem besagte, nicht funktionierende, Codestellen.

  4. #4
    Klar. Habe den Code mal übernommen und Abschnitte, in denen ich Änderungen vorgenommen hab, rot markiert. Alles in allem lautet das Script Scene_Title:

    (Der Code ist versteckt im Spoiler)

    Die Sektion "Draw Text on Title Screen" hab ich selber hinzugefügt, der Übersicht halber.

  5. #5
    Dein Problem mit der Transparenz und dem Text liegt daran, dass du zwei Funktionen verwendest welche beide den selben Namen tragen.
    Dadurch wird eine Funktion von der anderen überschrieben. Das bedeutet, dass ihre Funktionen natürlich nicht ausgeführt werden können.

    Code:
      #--------------------------------------------------------------------------
      # * Create Title Graphic
      #--------------------------------------------------------------------------
      def create_title_graphic
        @sprite = Sprite.new
        @sprite.bitmap = Cache.system("Title")
         @sprite.opacity = 128
      end
      #--------------------------------------------------------------------------
      # * Draw Text on Title Screen
      #--------------------------------------------------------------------------
      def create_title_graphic
        @sprite = Sprite.new
        @sprite.bitmap = Cache.system("Title")
        @sprite.bitmap.font.name = "Arial"
        @sprite.bitmap.font.size = 50
        @sprite.bitmap.font.color = Color.new(255, 0, 0, 255)
        @sprite.bitmap.font.bold = true
        @sprite.bitmap.font.italic = true
        @sprite.bitmap.draw_text(0,0, 512,256,"Cornix und ETeCe, vielen Dank für eure Hilfe! :)", 1)
      end
    Das hier ist der böse Abschnitt.
    Du musst das ganze wie folgt ändern:
    Code:
      #--------------------------------------------------------------------------
      # * Create Title Graphic
      #--------------------------------------------------------------------------
      def create_title_graphic
        @sprite = Sprite.new
        @sprite.bitmap = Cache.system("Title")
        @sprite.opacity = 128
        @sprite.bitmap.font.name = "Arial"
        @sprite.bitmap.font.size = 50
        @sprite.bitmap.font.color = Color.new(255, 0, 0, 255)
        @sprite.bitmap.font.bold = true
        @sprite.bitmap.font.italic = true
        @sprite.bitmap.draw_text(0,0, 512,256,"Cornix und ETeCe, vielen Dank für eure Hilfe! :)", 1)
      end
    Nun sollte es auch funktionieren.

  6. #6
    So was hab ich mir schon gedacht. Ich habe daraufhin dann einfach den Namen des Textes von "Sprite.new" in Xyz.new geändert. Dann kam nur leider eine Fehlermeldung und das Spiel wurde beendet :P
    Hab das jetzt noch mal nach deinen Angaben korrigiert, und es klappt

Berechtigungen

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