Jump to content
Rpg²S Forum

*Caricare testo da file


makgyver
 Share

Recommended Posts

Descrizione:

Questo semplice script serve a richiamare una finestra che visualizza in diverse "pagine" il testo che avete scritto in diversi file di testo. Capirete meglio provando il codice stesso.


Autore:

IO (makgyver)


Istruzioni:

Inserite questo codice in una classe sopra il main e chiamatela come volete.
Per richiamare il codice basta semplicemente scrivere questo script, o in un evento o richiamandolo dal menu:

$scene = Scene_Guide.newPoi nella prima riga dello script c'è $FILE_GUIDE

Qui c'è una lista di nomi di file che potete rinominare aggiungere e togliere l'importante è che ogni file abbia al massimo 13 righe e che non siano righe troppo lunghe sennò sforate dalla grafica.
Questi file che avete inserito in $FILE_GUIDE dovete poi metterli fisicamente in una cartella che chiamerete "GUIDE" (senza virgolette) e la posizionerete nella stessa directory del file .rxproj del progetto.
Non dovrebbe essere difficile ma in caso di problemi chiedetemi pure.


Script:

 

 

#nome dei file della guida
$FILE_GUIDE = ["guida1.txt", "guida2.txt", "guida3.txt"]

class Window_Page < Window_Base
	def initialize
		super(0,63,640,417)
		self.contents = Bitmap.new(608, 385)
	end
	
	def draw_text(x, y, w, h, text)
		self.contents.font.name = "Arial"
		self.contents.font.size = 24
		self.contents.font.color = normal_color
		self.contents.draw_text(x, y, w, h, text)
	end
	
	def clear
		self.contents.clear
	end
end

class Scene_Guide
	def main
		@page = Window_Page.new
		@help = Window_Help.new
		@pnow = 0
		File.open("Guide/"+$FILE_GUIDE[@pnow]) do |f|
			f.each_line {|ln| @page.draw_text(20, (f.lineno-1)*30, 600, 32, " "+ln)}
		end
		Graphics.transition
		loop do
			Graphics.update
			Input.update
			update
			if $scene != self
				break
			end
		end
		@help.dispose
		@page.dispose
	end
	
	def update
		update_help
		if Input.trigger?(Input::B)
			$game_system.se_play($data_system.cancel_se)
			$scene = Scene_Menu.new(0)
		end
		if Input.trigger?(Input::C)
			$game_system.se_play($data_system.decision_se)
			$scene = Scene_Options.new
		end
		if Input.trigger?(Input::DOWN)
			if (@pnow < $FILE_GUIDE.size-1)
				@pnow += 1
				@page.clear
				File.open("Guide/"+$FILE_GUIDE[@pnow]) do |f|
					f.each_line {|ln| @page.draw_text(20, (f.lineno-1)*30, 600, 32, " "+ln)}
				end
			end
		end
		if Input.trigger?(Input::UP)
			if (@pnow > 0)
				@pnow -= 1
				@page.clear
				File.open("Guide/"+$FILE_GUIDE[@pnow]) do |f|
					f.each_line {|ln| @page.draw_text(20, (f.lineno-1)*30, 600, 32, " "+ln)}
				end
			end
		end
	end
	
	def update_help
		@help.set_text("Pagina "+(@pnow+1).to_s+" / "+$FILE_GUIDE.size.to_s)
	end
end

 

 


BUG o conflitti:
N/A

"A tre settimane da oggi io mieterò il mio raccolto, immaginate dove vorrete essere perchè così sarà. Serrate i ranghi! Seguitemi! E se vi ritroverete soli a cavalcare su verdi praterie col sole sulla faccia non preoccupatevi troppo perchè sarete nei campi elisi e sarete già morti! Fratelli, ciò che facciamo in vita riecheggia nell'eternità!"

 

"C'era un sogno che era roma sarà realizzato. Questo era il desiderio di Marco Aurelio!"

Link to comment
Share on other sites

Può essere ottimo anche per dei rudimentali credits!

si si certo per qualsiasi cosa in cui viene più comodo utilizzare un file di testo piuttosto ke mettersi a scrivere negli script o negli eventi o altro...

"A tre settimane da oggi io mieterò il mio raccolto, immaginate dove vorrete essere perchè così sarà. Serrate i ranghi! Seguitemi! E se vi ritroverete soli a cavalcare su verdi praterie col sole sulla faccia non preoccupatevi troppo perchè sarete nei campi elisi e sarete già morti! Fratelli, ciò che facciamo in vita riecheggia nell'eternità!"

 

"C'era un sogno che era roma sarà realizzato. Questo era il desiderio di Marco Aurelio!"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...