PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder per RGSS anzeigen



mhm
05.01.2009, 21:40
Hiho,
ich bin grade dabei ein bischen mit Ruby und dem rmXP zu experimentieren, um mir ein eigenes Menü zu bauen. Kann mir da wer sagen, wie ich hinter das normale Menü ein eigenes Bild kleben kann?
Mir würde es auch schon ungemein weiterhelfen, wenn mir jemand einfach sagen könnte, wie man den "Show Picture"-Befehl per Code aufruft...:rolleyes:
mhm

The_Burrito
06.01.2009, 12:53
Den Picture Befehl in einem Skript zu simulieren ist nicht sonderlich schwer.

Mit der folgenden Zeile bekommst du das entsprechende Bild.


$game_screen.pictures[pic_nummer]


1-50 sind die Pictures außerhalb eines Kampfes, 51-100 sind die Pictures im Kampf.

Um jetzt ein Bild anzuzeigen musst du eigentlich nur folgende Zeile aufrufen



$game_screen.pictures[pic_nummer].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)


Der Name muss auf eine Datei im Picture Ordner passen. Die Dateiendung wird dabei weggelassen.
Origin bezeichnet dabei den Ausgangspunkt des Bildes. 0 ist die linke obere Ecke des Bildes, alles andere ist die Mitte des Bildes.



$game_screen.pictures[pic_nummer].move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)


Dieser macht das selbe wie der "Move Picture" Befehl.



$game_screen.pictures[pic_nummer].erase


Und dieser Code löscht das Bild wieder.

Für ein Menü hilft dir das allerdings nicht sonderlich viel weiter, da die Pictures, welche die 3 Picture Befehle verwenden, im Menü nicht angezeigt werden. Hier musst du direkt mit Sprites arbeiten.

In der Entsprechenden Szene brauchst du folgendes in der main Methode bevor die Hauptloop beginnt:


@background = Sprite.new
@background.bitmap = RPG::Cache.picture("name")
@background.x = 0
@background.y = 0


In der update Methode musst du dann die update Methode des sprites aufrufen



@background.update


Und zum Schluss darfst du nicht vergessen das Sprite nach verlassen des Menüs wieder zu entsorgen.

Dazu kommt in die main Methode nach der Hauptschleife einfach



@background.dispose

mhm
06.01.2009, 13:42
Hey, danke für die Arbeit, das hilft mir in vieler Hinsicht weiter, klappt alles super! ^^
Und das man damit die Bilddateien vernünftig in Ordnern unterbringen kann ist auch klasse.

Für ein Menü hilft dir das allerdings nicht sonderlich viel weiter, da die Pictures, welche die 3 Picture Befehle verwenden, im Menü nicht angezeigt werden. Hier musst du direkt mit Sprites arbeiten.
Kann ich trotzdem noch sachen wie Rotation, Transparenz & Co einbauen? Solche Sachen wie sich drehende Zahnräder im Menü hätten schon was :D

sPike.
06.01.2009, 13:51
schau mal hier http://www.rpgrevolution.com/rgss-script-ref/game_picture.html
und in der xp hilfedatei unter sprite.

wenn du ein bild, also ne animation zeigen willst, musst du schon mehrere
bilder benutzen.

mhm
06.01.2009, 16:28
Hey, danke für die Seite, die kannte ich noch garnicht.

wenn du ein bild, also ne animation zeigen willst, musst du schon mehrere bilder benutzen.
humm... aber lässt es sich nicht auch irgendwie als eine BattleAnimation anzeigen, oder? Die müsste man doch (natürlich nur in Scene_Map) per RGSS ähnlich wie die Bilder benutzen können.

Weißt evtl jemand wie ich die Aufrufe?
Und kann man die abseits von Events auch auf bestimmte Pixelkoordinaten abspielen?

The_Burrito
07.01.2009, 17:39
Nein. BattleAnimations lassen sich nur über Events oder Battlern anzeigen. Wenn du ein animiertes Sprite haben willst, dann musst du das machen wie es bei den Charactergrafiken gemacht wird. Du machst ein Bild mit allen Animationsphasen, und iterierst das src_rect über die einzelnen Animationsphasen drüber.