PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bild Dateien in ein abgeschlossenes Projekt importieren



Cornix
03.12.2009, 19:42
Guten Abend.
Was ich heute fragen wollte (ich habe so gute Erfahrungen mit dieser Community gemacht) ist, ob, und inwiefern, es machbar wäre dem Spieler die Möglichkeit einzuräumen seine eigenen .PNG Dateien in ein bereits abgeschlossenes Projekt zu importieren und darstellen zu lassen.

Mit konkretem Beispiel:
Ich erstelle ein RPG. Der Spieler kann ein eigenes Bild importieren um es als Portrait für seinen individuellen Charakter zu verwenden.

Doch wie ist soetwas zu erstellen?
Ich kenne mich nicht sonderlich mit Programmieren aus und alles was ich im Punkte 'Laden von Dateien' gefunden habe war Marshal.load welches ausschließlich .rxdata laden kann.
Ich bräuchte eine Art eigene Cache Klasse welche beim Start des Spieles einen Ordner nach .PNG und .JPG Dateien durchforstet und in lokale variablen speichert.

Ich bedanke mich schoneinmal im Vorraus für all eure liebenswürdigen und hilfreichen Antworten.
Cornix.

Shining Advances
03.12.2009, 20:34
also grafiken läd man per Bitmap.new(pfad) oder Graphics.picture(dateiname) (oder auch .animation/.battler etc jenachdem welche art von grafik)
beides funktioniert auch, wenn das projekt schon abgeschlossen ist oder gar verschlüsselt wurde.
nach dem verschlüsseln wird zwar der Graphics ordner gelöscht, aber man kann sie (graphics+die ordner da drinne) einfach neu erstellen und dann auch wieder grafiken aus ihnen laden.
noch lustiger ist, wenn du kurz vorm verschlüsseln einige grafiken löschst - achtung vorher kopieren - und nach dem verschlüsseln wieder einfügst.
diese können dann zwar von anderen gesehen werden, brauchen aber beim verpacken (.zip .rar) weniger speicherplatz!
das ist praktisch, wenn nur deine scripts oder einige wenige grafiken verschlüsselt werden sollen und du probs mit der projektgröße hast.

nach grafiken suchen geht auch per Dir[ordner], wie in deinem letzten thread beschrieben.
hier ein beispiel (kannst es gerne verwenden)

module RPG
module Cache
def self.grafiken
files = Dir["Graphics/Avatar/*"]#suche dateien
n = []
for i in 0...files.size
case files[i].upcase
when /(.*).PNG/#wenn datei auf .png endet
n.push(files[i])
when /(.*).JPG/
n.push(files[i])#wenn datei auf .jpg endet
#when /(.*)•••••/ #sonstige dateien die du noch zulassen willst - einfach XYZ ersetzen
end
end
return n
end
end
end
per RPG::Cache.grafiken erhältst du einen array mit den namen der grafiken.
anzeigen kannst du sie dann durch zb

sprites = []
grafiken = RPG::Cache.grafiken #in grafiken speichern da RPG::Cache.grafiken jedes mal erneut sucht -> zugriff per grafiken[i] braucht weniger rechenleistung
for i in 0...grafiken.size
sprites[i] = Sprite.new
sprites[i].bitmap = Bitmap.new(grafiken[i])
sprites[i].x = (i%6)*100
sprites[i].y = i / 6 * 100
end

Cornix
03.12.2009, 20:43
Vielen vielen Dank. Ich hätte nicht gedacht, dass es so einfach ist.
Ich dachte dem RPG Maker würden die Zugriffsrechte untersagt werden wenn ich ihn einfach eine beliebige Bild Datei vom Rechner laden lassen würde.