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:
Ü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:
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 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:
Sollte zumindest so funktionieren, habe den RMVX lange nicht mehr ausprobiert
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?
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.
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.
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.
#--------------------------------------------------------------------------
# * 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:
#--------------------------------------------------------------------------
# * 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
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