-
Numero contenuti
129 -
Iscritto
-
Ultima visita
-
Days Won
3
Risposte pubblicati da franco95
-
-
-
Infatti mica ho detto tutti, ho detto spesso, e comunque nel campo del 3D le pretese sono più alte rispetto a quelle del 2D.
Comunque il gioco di Juster non è che sia brutto o "un gioco di merda"(come dicono alcuni) è semplicemente un gioco 3D che utilizza sicuramente una grafica non tanto apprezzabile (7 su 10 per me), e poi ho visto il video della Beta.
Quando sarà completo potrò giudicarlo meglio, comunque sicuramente l'impegno per un lavoro fatto da solo è da apprezzare
-
Ovviamente se credi che potrai mai (da solo) creare un gioco in 3D, ragiona che se non hai anni da buttar via per un gioco (che non è detto manco che potrai vendere) non ti conviene affatto.
Con la modellazione 3D si sale ad un livello superiore, richiede molto più impegno, molto più tempo (questo da decidere se sarà poi ripagato in denaro o con niente) e soprattutto richiede collaborazione.
Tieni conto che:
I giochi 3D indie (fatti in casa cioè) sono molto spesso dei giochini fatti male e bruttini, perchè sono fatti da programmatori non molto esperti o molto pochi.
Per fare qualcosa che debba essere bello in 3D è necessario conoscere e saper usare programmi di Grafica 3D che per generalmente sono abbastanza complessi, per farti un esempio io ho provato ad usare un "semplice" (non detto da me) crea-mappe di Call of Duty World at War e ti assicuro che avere a che fare con muri da modellare, oggetti, texture e bug diventa una roba che te ne vai nel pallone dopo pochi minuti, SOPRATTUTTO se non hai vicino qualcuno che ti aiuta (vicino in senso reale non tramite skype, video da you tube o cose simili).
Soprattutto tieni conto che dal passaggio da Rpg maker che è in 2D ad una roba 3D, i bug che si ripresentano possono essere molti di più e molto più inaspettati.
E infine tieni conto che non penso ci sia qui sul forum qualcuno che ti possa aiutare per tutte le cose dette sopra, perchè qui si parla soprattutto di Rpg maker.
-
raga c'è qualcuno disposto a farmi una qualche donazione via paypal per poter prendere qui tilesets? Io purtroppo ho problemi con le carte.
Sono ovviamente disposto a passare i tilesets una volta comprati, mi servono 8 euro.
La mia e-mail per paypal è [email protected]
-
Marina we are italian, if you can, speak italian! xD
-
Bevenuto
-
ghost per piacere da una mano anche a me per il problema degli oggetti che non si è risolto.
-
No ghost non hai capito, NON FUNZIONA NEMMENO come ho fatto io.
-
Non funziona ecco come ho fatto io:
In un evento parallelo stà:
Condizione: Variabile [0001:messaggi]==3
Suona BGM: ....
Altrimenti
Condizione: Variabile [0001:messaggi]==5
Suona BGM: ....
Altrimenti
Fine Condizione
Fine Condizione
Dopodichè in uno di quegli oggetti stà:
Cambia Oggetti: [Messaggio #2], +1
Controllo Variabili: [0001:messaggi]+=1
Switch Locale: A=ON
Testo del messaggio
Ho capito che la variabile deve aumentare sempre di uno, ma l'unica opzione con cui sembra si possa fare è con controllo variabile +=1
-
Non riesco a fare centrare un' immagine che deve comparire al centro dello schermo una volta camminato sopra l'evento, ho provato selezionando "centra" ma non lo fa, che dimensione deve avere una immagine per essere posizionata correttamente?
Ad esempio: se uno facesse un gioco horror e volesse mettere uno jumpscare di che dimensione deve essere l'immagine (altezza x larghezza) per essere visualizzata al centro?
Io ho provato anche con gli zoom oltre il 100% ma si sballa e non và mai al centro o non occupa tutto lo schermo.
Sempre per VX ace la domanda
Stephenol, Barbaravope e jarvichat reacted to this -
grazie Ghost, è che non ho avuto il tempo per rifletterci avevo altri problemi da risolvere sul pc, proverò a farlo seguendo la tua guida
-
aspetto qualcuno che me lo spieghi più sul pratico xD con più passaggi possibilmente
-
Vorrei fare in modo che una volta presi un certo numero di oggetti uguali (ad esempio delle pagine di diario) cambiasse una determinata canzone, tenete conto che il giocatore può prenderle nell'ordine che preferisce ma una volta prese 2 deve cambiare canzone, 4 un' altra canzone ecc.
La canzone si sente solo nella mappa dove dev'essere fatta la ricerca di questi oggetti.
Inoltre una volta presi tutti gli oggetti si deve aprire una porta.
Come faccio a fare tutto questo? Il problema stà nel fatto che il giocatore può prendere gi oggetti nell'ordine che preferisce ma devono succedere le cose che ho scritto sopra.
Michaellok e Francisbof reacted to this -
Franco ho visto i tuoi video di amen 1 e 2
Ho trovato un bug quand esci dalla galleria se vai verso l'alto vai sopra alle montagne
Grazie ho risolto il problema a tutte le porte con 2 tile (tanto erano poche).
-
ho risolto incollando quello che avevi scritto prima e cancellando la riga ratio a quei 2 corpi di istruzioni.
-
Elementi belli della demo:
La sorpresa di chi è il padre e il menu ad anello.
Note negative per me:
il fatto di cercare la legna, hai un ascia che pui usare per tagliare legna (sempre secondo me)
Mica è legna sono delle tavole, e comunque chiunque andando di fretta preferirebbe utilizzare le tavole di lengo (più semplici per camminarci sopra) e non un tronco, tra l'altro non credere che un tronco possa essere sollevato da un' unica persona, perchè sicuramente serve un tronco grosso per passare da un lato all'altro del ponte che sarebbe bello pesante.
Comunque a me no che non hai visto tutti i video del 2 non riuscirai a capire gli altri messaggi "sottili" che sono presenti nella demo.
La sopresa di chi è il padre uno può già meravigliarsi anche dopo aver giocato un poco ad Amen 2, ed è sicuramente una cosa importante per chi si è calato mentalmente nell'ambiente "occulto" di Amen, ma se fai attenzione e parli con tutti i personaggi puoi vedere che ci sono diverse "cose" da notare che fanno capire che razza di terre siano quelle del Sud (mi riferisco a quelle del gioco ovvio xD).
Comunque devo aggiornare il post iniziale.
E comunque qui:
def create_options_window
@options_window = Window_Options.new
@options_window.set_handler(:fullscreen, method(:command_fullscreen))
@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))
@options_window.set_handler(:show_infos, method(:command_show_infos))
@options_window.set_handler(:show_fps, method(:command_show_fps))
@options_window.set_handler(:cancel, method(:command_back))
end
Io vedo solo quello del formato, ma quello dell'alta risoluzione quale sarebbe? Il primo?
-
ho tolto quello script perchè nonostante tutto si buggava, ora però c'è un problema che non mi spiego:
tra le opzioni oltra a quella dell'alta risoluzione stà quella del formato che da un problema assai grave, ovvero che se per caso uno cambia il formato le fog si vedono tagliate e si vedono ripetizioni di mappa, ma oltre questo... se si rimette il formato come stava prima il problema persiste come se fosse stato messo ATTIVO.
Per cui chi ha scaricato la demo e ha attivato almeno una volta l'opzione formato non ha altra scelta che riscaricare la demo, nella versione finale per ora stà tolto proprio l'intero tasto delle opzioni, anche se vorrei metterlo almeno con l'opzione di schermo intero e di mostra FPS.
Se qualcuno mi può aiutare ad aggiustare di più questo script, perchè se no lo tolgo.
-
Io non capisco perchè ve la state prendendo così tanto, è grave che una persona non sappia fare estrai su file zippato per me, e come non sapere a cosa serve copia-incolla è l'abc del computer, a me da fastidio vedere gente stupida non un ignorante, perchè l'ignorante si va ad informare, l'ingenuo invece fa domande stupide senza andarsi a cercare "facili" risposte.
E per domande stupide si intente l'abc del computer, non c'entra nulla con RPG maker, poi soprattutto se la domanda è fatta da una persona che ha una certa età e dovrebbe sapere determinate cose.
Al giorno d'oggi che la risposta la si trova sempre su internet senza il bisogno di chiedere, la vedo molto grave.
Comunque ho fatto vedere quello script ad un' altra persona esperta e non ha trovato il modo di risolvere per togliere quella opzione, è questo qui:
# ==============================================================================
# ■ VGA_SCRIPT
# ------------------------------------------------------------------------------
# Name : VGA Display for VX Ace
# Type : RGSS3 Script
# Version : 1.04
# Author : Chon
#
# This script provides a full screen support as well as a max resolution mode.
# It is also possible to define some graphics replacement for most backgrounds.
# The code includes a display informations head-up-display and a FPS counter.
# Most of features are easily switchable by the user via an options menu.
# ------------------------------------------------------------------------------
# 2013/10/19 : 1.00 - First release
# 2013/10/20 : 1.01 - Add a FPS counter
# 2013/10/22 : 1.02 - Add an options menu
# 2013/10/23 : 1.03 - Correct some constant misspelling and leftovers
# 2013/10/26 : 1.04 - Display aspect ratio support
# ------------------------------------------------------------------------------
# Place this file under the Materials section and above the Main Processs of
# your RPG Maker VX Ace for it to work properly. The lower is the better.
# ------------------------------------------------------------------------------
# ● Module : Cache
# ♦ Overwritten method : system
# ♦ Overwritten method : title1
# ♦ Overwritten method : title2
# ♦ Overwritten method : battleback1
# ♦ Overwritten method : battleback2
#
# ► Built-in Class : Graphics
# ◊ Aliased method : update
#
# ► Class : Sprite_Battler
# ◊ Aliased method : update_position
#
# ► Class : Window_TitleCommand
# ♦ Overwritten method : window_width
# ♦ Overwritten method : make_command_list
#
# ► Class : Scene_Map
# ♦ Overwritten method : perform_battle_transition
#
# ► Class : Scene_Title
# ◊ Aliased method : start
# ◊ Aliased method : create_command_window
# ◊ Aliased method : command_shutdown
#
# ► Class : Scene_End
# ◊ Aliased method : command_shutdown
# ==============================================================================
$imported ||= {}
$imported["VGA_Display_for_VX_Ace"] = 1.04
module VGA # The VGA Display for VX Ace module
# Resolutions configuration
LOWRES_WIDTH = 544 # Set the low resolution width. Default = 544 (can be reduced -- but untested, use with caution)
LOWRES_HEIGHT = 416 # Set the low resolution height. Default = 416 (can be reduced -- but untested, use with caution)
HIGHRES_WIDTH = 640 # Set the high resolution width. Maximum = 640
HIGHRES_HEIGHT = 480 # Set the high resolution height. Maximum = 480
KEEP_ASPECT_RATIO = true # Adjust high resolution to fit to user display aspect ratio. Will display black bars instead of stretching the screen.
# Output configuration
CONFIG_FILE_SECTION = "VGA" # Set the header of the Game.ini under wich the display configuration values will be put.
# Highres files configuration
USE_HIGHRES_FILES = true # Replace standard bitmap backgrounds with size increased ones.
HIGHRES_FILES_FOLDER = "VGA/" # Set the location of high resolution bitmaps. Default = "Graphics/"
HIGHRES_FILES_PREFIX = "VGA_" # Set the prefix of high resolution bitmap files. Default = ""
# Default display configuration (mostly for the user's very first first boot, then Game.ini should be use).
LAUNCH_IN_FULLSCREEN = false # Launch the game in fullscreen. Default = false
LAUNCH_AT_HIGHRES = true # Launch the game at high resolution. Default = false
SHOW_INFOS = false # Display resolution and screen mode at the top left corner of the screen. Default = false
SHOW_FPS = false # Display FPS at the top right corner of the screen. Default = false
# User display configuration
LOAD_USER_CONFIG = true # Restore user display configuration from Game.ini. The constant values will be used at each game boot if this is set to false. Default = true
SAVE_USER_CONFIG = false # Store user display configuration in Game.ini at shutdown and not only from options menu. This will not work if the game is shutdown with Alt+F4 shortcut or closed with window exit icon. Default = false
# Options menu
OPTION_CHANGE_SCR = true # Enable the change screen size option (i.e. switch between fullscreen and window). Default = true
OPTION_CHANGE_RES = true # Enable the change resolution option (i.e. switch between high and low resolution). Default = true
OPTION_ASPECT_RATIO = true # Enable the keep aspect ratio option. Default = true
OPTION_SHOW_INFOS = true # Enable the show display informations option. Default = true
OPTION_SHOW_FPS = true # Enable the show fps option. Default = true
# Language
LANG = {
# Variable name Localization
# Title menu
"go_to_options" => "Opzioni",
"exit_game" => "Esci",
# Options menu
"lowres" => "Bassa Risoluzione",
"highres" => "Alta risoluzione (non disp.)",
"window" => "Finestra",
"fullscreen" => "Schermo intero",
"aspect_ratio" => "Formato schermo",
"show_infos" => "Mostra informazioni",
"show_fps" => "Mostra FPS",
"back_to_title" => "Ritorna ai titoli",
# Options stat
"option_on" => "Attivo",
"option_off" => "Disattivato",
# Other
"fps" => "FPS"
}
# ==============================================================================
# ● VGA Display for VX Ace
# ------------------------------------------------------------------------------
# Editing anything past this title may result in heavy computer damages, death,
# stomach gases or user transformation into a gremlin. So edit at your own risk.
# ==============================================================================
# ----------------------------------------------------------------------------
# ♦ Constant API declarations
# ----------------------------------------------------------------------------
User32DLL = DL.dlopen("user32")
User32DLL__keybd_event = DL::CFunc.new(User32DLL.sym("keybd_event"), DL::TYPE_VOID, "keybd_event", :stdcall)
GetPrivateProfileString = Win32API.new("kernel32", "GetPrivateProfileString", "ppppip", "i")
WritePrivateProfileString = Win32API.new("kernel32", "WritePrivateProfileString", "pppp", "i")
GetSystemMetrics = Win32API.new("user32", "GetSystemMetrics", "i", "i")
GetAsyncKeyState = Win32API.new("user32", "GetAsyncKeyState", "i", "i")
# ----------------------------------------------------------------------------
# ♦ Instance variables declarations
# ----------------------------------------------------------------------------
@aspect_ratio = GetSystemMetrics.call(0).to_f / GetSystemMetrics.call(1).to_f
# ----------------------------------------------------------------------------
# ♦ New method : i_to_bool
# Convert binary values into boolean values
# ----------------------------------------------------------------------------
def self.i_to_bool(i)
if i == 1; i = true; elsif i == 0; i = false; else; i = nil; end
end
# ----------------------------------------------------------------------------
# ♦ New method : load_vga_config
# ----------------------------------------------------------------------------
def self.load_vga_config
buffer = [].pack('x256')
section = CONFIG_FILE_SECTION
filename = "./Game.ini"
get_option = Proc.new do |key, default_value|
l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)
buffer[0, l]
end
@files_folder = get_option.call("FilesFolder", "nil").to_s
@files_prefix = get_option.call("FilesPrefix", "nil").to_s
@files_folder = HIGHRES_FILES_FOLDER if @files_folder == "nil"
@files_prefix = HIGHRES_FILES_PREFIX if @files_prefix == "nil"
@files_folder.gsub!(/\\/) {|match| "/" }
LOAD_USER_CONFIG ? @fullscreen = i_to_bool(get_option.call("Fullscreen", nil).to_i) : @fullscreen = LAUNCH_IN_FULLSCREEN
LOAD_USER_CONFIG ? @highres = i_to_bool(get_option.call("Highres", nil).to_i) : @highres = LAUNCH_AT_HIGHRES
LOAD_USER_CONFIG ? @keep_aspect_ratio = i_to_bool(get_option.call("AspectRatio", nil).to_i) : @keep_aspect_ratio = KEEP_ASPECT_RATIO
LOAD_USER_CONFIG ? @show_infos = i_to_bool(get_option.call("ShowInfos", nil).to_i) : @show_infos = SHOW_INFOS
LOAD_USER_CONFIG ? @show_fps = i_to_bool(get_option.call("ShowFPS", nil).to_i) : @show_fps = SHOW_FPS
end
# ----------------------------------------------------------------------------
# ♦ New method : write_vga_config
# ----------------------------------------------------------------------------
def self.write_vga_config
section = CONFIG_FILE_SECTION
filename = "./Game.ini"
set_option = Proc.new do |key, value|
WritePrivateProfileString.call(section, key, value.to_s, filename)
end
set_option.call("FilesFolder", @files_folder)
set_option.call("FilesPrefix", @files_prefix)
set_option.call("Fullscreen", @fullscreen ? 1 : 0)
set_option.call("Highres", @highres ? 1 : 0)
set_option.call("AspectRatio", @keep_aspect_ratio ? 1 : 0)
set_option.call("ShowInfos", @show_infos ? 1 : 0)
set_option.call("ShowFPS", @show_fps ? 1 : 0)
end
# ----------------------------------------------------------------------------
# ♦ New method : get_files_folder
# ----------------------------------------------------------------------------
def self.get_files_folder
@files_folder != nil && USE_HIGHRES_FILES and @highres ? @files_folder : "Graphics/"
end
# ----------------------------------------------------------------------------
# ♦ New method : get_files_prefix
# ----------------------------------------------------------------------------
def self.get_files_prefix
@files_prefix != nil && USE_HIGHRES_FILES and @highres ? @files_prefix : ""
end
# ----------------------------------------------------------------------------
# ♦ New method : get_fullscreen
# ----------------------------------------------------------------------------
def self.get_fullscreen
@fullscreen == nil ? LAUNCH_IN_FULLSCREEN : @fullscreen
end
# ----------------------------------------------------------------------------
# ♦ New method : get_highres
# ----------------------------------------------------------------------------
def self.get_highres
@highres == nil ? LAUNCH_AT_HIGHRES : @highres
end
# ----------------------------------------------------------------------------
# ♦ New methods : get_highres_width
# ----------------------------------------------------------------------------
def self.get_highres_width
if @keep_aspect_ratio == true
@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_width = HIGHRES_WIDTH : @highres_width = (HIGHRES_HEIGHT.to_f * @aspect_ratio).to_i
else
@highres_width = HIGHRES_WIDTH
end
return @highres_width
end
# ----------------------------------------------------------------------------
# ♦ New methods : get_highres_height
# ----------------------------------------------------------------------------
def self.get_highres_height
if @keep_aspect_ratio == true
@aspect_ratio >= HIGHRES_WIDTH.to_f / HIGHRES_HEIGHT.to_f ? @highres_height = (HIGHRES_WIDTH.to_f / @aspect_ratio).to_i : @highres_height = HIGHRES_HEIGHT
else
@highres_height = HIGHRES_HEIGHT
end
return @highres_height
end
# ----------------------------------------------------------------------------
# ♦ New method : get_aspect_ratio
# ----------------------------------------------------------------------------
def self.get_aspect_ratio
@keep_aspect_ratio == nil ? KEEP_ASPECT_RATIO : @keep_aspect_ratio
end
# ----------------------------------------------------------------------------
# ♦ New method : get_show_infos
# ----------------------------------------------------------------------------
def self.get_show_infos
@show_infos == nil ? SHOW_INFOS : @show_infos
end
# ----------------------------------------------------------------------------
# ♦ New method : get_show_fps
# ----------------------------------------------------------------------------
def self.get_show_fps
@show_fps == nil ? SHOW_FPS : @show_fps
end
# ----------------------------------------------------------------------------
# ♦ New method : switch_fullscreen
# ----------------------------------------------------------------------------
def self.switch_fullscreen
@fullscreen == true ? @fullscreen = false : @fullscreen = true
end
# ----------------------------------------------------------------------------
# ♦ New method : toggle_fullscreen
# ----------------------------------------------------------------------------
def self.toggle_fullscreen
User32DLL__keybd_event.call([0xA4, 0, 0, 0])
User32DLL__keybd_event.call([0x0D, 0, 0, 0])
User32DLL__keybd_event.call([0x0D, 0, 0x0002, 0])
User32DLL__keybd_event.call([0xA4, 0, 0x0002, 0])
end
# ----------------------------------------------------------------------------
# ♦ New method : switch_to_highres
# ----------------------------------------------------------------------------
def self.switch_to_highres
Graphics.resize_screen(get_highres_width, get_highres_height)
@highres = true
end
# ----------------------------------------------------------------------------
# ♦ New method : switch_to_lowres
# ----------------------------------------------------------------------------
def self.switch_to_lowres
Graphics.resize_screen(LOWRES_WIDTH, LOWRES_HEIGHT)
@highres = false
end
# ----------------------------------------------------------------------------
# ♦ New method : toggle_highres
# ----------------------------------------------------------------------------
def self.toggle_highres
Graphics.width == LOWRES_WIDTH && Graphics.height == LOWRES_HEIGHT ? switch_to_highres : switch_to_lowres
SceneManager.scene.reload
end
# ----------------------------------------------------------------------------
# ♦ New method : toggle_aspect_ratio
# ----------------------------------------------------------------------------
def self.toggle_aspect_ratio
@keep_aspect_ratio == true ? @keep_aspect_ratio = false : @keep_aspect_ratio = true
Graphics.resize_screen(get_highres_width, get_highres_height)
SceneManager.scene.reload
end
# ----------------------------------------------------------------------------
# ♦ New method : toggle_show_infos
# ----------------------------------------------------------------------------
def self.toggle_show_infos
get_show_infos == true ? @show_infos = false : @show_infos = true
end
# ----------------------------------------------------------------------------
# ♦ New method : toggle_show_fps
# ----------------------------------------------------------------------------
def self.toggle_show_fps
get_show_fps == true ? @show_fps = false : @show_fps = true
end
# ----------------------------------------------------------------------------
# ♦ New method : get_input_kbd
# ----------------------------------------------------------------------------
def self.get_input_kbd(key)
return GetAsyncKeyState.call(key)
end
# ----------------------------------------------------------------------------
# ♦ Game Loaders
# ----------------------------------------------------------------------------
load_vga_config
write_vga_config
switch_to_highres if get_highres
toggle_fullscreen if get_fullscreen
end # VGA
# ==============================================================================
# ● Cache
# ------------------------------------------------------------------------------
# This module loads graphics, creates bitmap objects, and retains them.
# To speed up load times and conserve memory, this module holds the
# created bitmap object in the internal hash, allowing the program to
# return preexisting objects when the same bitmap is requested again.
# ==============================================================================
module Cache
# ----------------------------------------------------------------------------
# ♦ New method : prefix
# ----------------------------------------------------------------------------
def self.prefix
return if !VGA::USE_HIGHRES_FILES
VGA.get_highres ? VGA.get_files_prefix : ""
end
# ----------------------------------------------------------------------------
# ♦ New method : load_prefixed_bitmap
# ----------------------------------------------------------------------------
def self.load_prefixed_bitmap(folder, filename)
bitmap = load_bitmap(VGA.get_files_folder + folder, prefix + filename) rescue nil
bitmap == nil ? load_bitmap("Graphics/" + folder, filename) : bitmap
end
# ----------------------------------------------------------------------------
# ♦ Overwritten method : system
# ----------------------------------------------------------------------------
def self.system(filename)
if filename == "GameOver" and VGA.get_highres && VGA::USE_HIGHRES_FILES
load_prefixed_bitmap("System/", filename)
else
load_bitmap("Graphics/System/", filename)
end
end
# ----------------------------------------------------------------------------
# ♦ Overwritten methods : title1, title2, battleback1, battleback2
# ----------------------------------------------------------------------------
def self.title1(filename); load_prefixed_bitmap("Titles1/", filename); end
def self.title2(filename); load_prefixed_bitmap("Titles2/", filename); end
def self.battleback1(filename); load_prefixed_bitmap("Battlebacks1/", filename); end
def self.battleback2(filename); load_prefixed_bitmap("Battlebacks2/", filename); end
end # Cache
# ==============================================================================
# ► Graphics
# ------------------------------------------------------------------------------
# Add some methods to built-in class Graphics.
# ==============================================================================
class << Graphics
# ----------------------------------------------------------------------------
# ♦ New method : setup_infos
# Create the display informations sprite and put it at the uppermost layer.
# ----------------------------------------------------------------------------
def setup_infos
@infos_sprite, @infos_sprite.z = Sprite.new, 0x7FFFFFFF
draw_infos
end
# ----------------------------------------------------------------------------
# ♦ New method : setup_fps
# Create the FPS sprite and put it at the uppermost layer.
# ----------------------------------------------------------------------------
def setup_fps
@fps, @fps_count = 0, []
@fps_sprite, @fps_sprite.z = Sprite.new, 0x7FFFFFFF
end
# ----------------------------------------------------------------------------
# ♦ New method : get_infos
# Retrieve screen resolution and screen mode.
# ----------------------------------------------------------------------------
def get_infos
VGA.get_fullscreen ? display_mode = VGA::LANG["fullscreen"] : display_mode = VGA::LANG["window"]
return width.to_s + "x" + height.to_s + " @ " + display_mode
end
# ----------------------------------------------------------------------------
# ♦ New method : get_fps
# Calculate number of frames per second.
# ----------------------------------------------------------------------------
def get_fps(time)
@fps_count[frame_count % frame_rate] = Time.now != time
@fps = 0
frame_rate.times {|i| @fps += 1 if @fps_count}
end
# ----------------------------------------------------------------------------
# ♦ New method : draw_infos
# Draw the display informations sprite.
# ----------------------------------------------------------------------------
def draw_infos
@infos_sprite.bitmap = Bitmap.new(width, 24)
@infos_sprite.bitmap.draw_text(8, 0, width, 24, get_infos)
end
# ----------------------------------------------------------------------------
# ♦ New method : draw_fps
# Draw the FPS sprite.
# ----------------------------------------------------------------------------
def draw_fps
@fps_sprite.bitmap = Bitmap.new(width, 24)
size = @fps_sprite.bitmap.text_size("000" + " " + VGA::LANG["fps"]).width
@fps_sprite.bitmap.draw_text(width - size, 0, size, 24, @fps.to_s + " " + VGA::LANG["fps"])
end
# ----------------------------------------------------------------------------
# ◊ Aliased method : update
# Refresh FPS at every frame and update display informations if necessary.
# ----------------------------------------------------------------------------
alias :vga_alias_update :update
def update
time = Time.now
vga_alias_update
kbd_enter = 0x0D # 0x0D = VK_RETURN = ENTER Key
kbd_alt = 0x12 # 0x12 = VK_MENU = ALT Key
if VGA.get_input_kbd(kbd_enter) != 0 && VGA.get_input_kbd(kbd_alt) != 0
VGA.switch_fullscreen if frame_count > 30 # Fullscreen loader preventer ; no kbd_input check during the first 0.5 sec
if SceneManager.scene_is?(Scene_Title)
SceneManager.scene.instance_variables.each do |var_name|
var = SceneManager.scene.instance_variable_get(var_name)
var.refresh if var_name.to_s == "@options_window"
end
end
end
if VGA.get_show_fps
setup_fps if !@fps_sprite or @fps_sprite.disposed?
get_fps(time)
draw_fps
else
@fps_sprite.dispose unless !@fps_sprite
end
if VGA.get_show_infos
setup_infos if !@infos_sprite or @infos_sprite.disposed?
draw_infos if VGA.get_fullscreen != @last_fullscreen || VGA.get_highres != @last_highres || width != @last_width || height != @last_height
@last_fullscreen, @last_highres, @last_width, @last_height = VGA.get_fullscreen, VGA.get_highres, width, height
else
@infos_sprite.dispose unless !@infos_sprite
end
end
end # Graphics
# ==============================================================================
# ► Sprite_Battler
# ------------------------------------------------------------------------------
# This sprite is used to display battlers. It observes an instance of the
# Game_Battler class and automatically changes sprite states.
# ==============================================================================
class Sprite_Battler
# ----------------------------------------------------------------------------
# ◊ Aliased method : update_position
# Center the enemies on battle ground if the screen size has changed.
# ----------------------------------------------------------------------------
alias :vga_alias_update_position :update_position
def update_position
vga_alias_update_position
if VGA.get_highres
self.x += (VGA.get_highres_width - VGA::LOWRES_WIDTH) / 2
self.y += (VGA.get_highres_height - VGA::LOWRES_HEIGHT) / 2
end
end
end # Sprite_Battler
# ==============================================================================
# ► Window_Selectable
# ------------------------------------------------------------------------------
# This window class contains cursor movement and scroll functions.
# ==============================================================================
class Window_Selectable < Window_Base
# ----------------------------------------------------------------------------
# ♦ New method : get_index
# Get Cursor Position
# ----------------------------------------------------------------------------
def get_index
@index
end
end # Window_Selectable
# ==============================================================================
# ► Window_TitleCommand
# ------------------------------------------------------------------------------
# This window is for selecting New Game/Continue on the title screen.
# ==============================================================================
class Window_TitleCommand < Window_Command
# ----------------------------------------------------------------------------
# ♦ Overwritten method : window_width
# Get Window Width
# ----------------------------------------------------------------------------
def window_width
return 192
end
# ----------------------------------------------------------------------------
# ♦ Overwritten method : make_command_list
# Create Command List
# ----------------------------------------------------------------------------
def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
add_command(VGA::LANG["go_to_options"], :options) # NEW
add_command(VGA::LANG["exit_game"], :shutdown) # NEW
end
end # Window_TitleCommand
# ==============================================================================
# ► Window_Options
# ------------------------------------------------------------------------------
# This window is for selecting display options.
# ==============================================================================
class Window_Options < Window_Command
# ----------------------------------------------------------------------------
# ♦ New method : initialize
# Object Initialization
# ----------------------------------------------------------------------------
def initialize
super(0, 0)
update_placement
select_symbol(:cancel)
self.openness = 0
open
end
# ----------------------------------------------------------------------------
# ♦ New method : window_width
# Get Window Width
# ----------------------------------------------------------------------------
def window_width
return 384
end
# ----------------------------------------------------------------------------
# ♦ New method : update_placement
# Update Window Position
# ----------------------------------------------------------------------------
def update_placement
self.x = (Graphics.width - width) / 2
self.y = (Graphics.height * 1.6 - height) / 2
end
# ----------------------------------------------------------------------------
# ♦ New method : make_command_list
# Create Command List
# ----------------------------------------------------------------------------
def make_command_list
add_command(VGA::LANG["fullscreen"], :fullscreen, VGA::OPTION_CHANGE_SCR, VGA.get_fullscreen ? true : false)
add_command(VGA::LANG["highres"], :highres, VGA::OPTION_CHANGE_RES, VGA.get_highres ? true : false)
add_command(VGA::LANG["aspect_ratio"], :aspect_ratio, VGA::OPTION_ASPECT_RATIO, VGA.get_aspect_ratio ? true : false)
add_command(VGA::LANG["show_infos"], :show_infos, VGA::OPTION_SHOW_INFOS, VGA.get_show_infos ? true : false)
add_command(VGA::LANG["show_fps"], :show_fps, VGA::OPTION_SHOW_FPS, VGA.get_show_fps ? true : false)
add_command(VGA::LANG["back_to_title"], :cancel)
end
# ----------------------------------------------------------------------------
# ♦ New method : draw_item
# Draw Item
# ----------------------------------------------------------------------------
def draw_item(index)
change_color(normal_color, command_enabled?(index))
draw_text(item_rect_for_text(index), command_name(index), alignment)
if !@list[index][:ext].nil?
change_color(crisis_color) if @list[index][:ext] == true
draw_text(item_rect_for_text(index), @list[index][:ext] == true ? VGA::LANG["option_on"] : VGA::LANG["option_off"], 2)
end
end
# ----------------------------------------------------------------------------
# ♦ New method : process_cancel
# Processing When Cancel Button Is Pressed
# ----------------------------------------------------------------------------
def process_cancel
super
end
end # Window_Options
# ==============================================================================
# ► Scene_Base
# ------------------------------------------------------------------------------
# This is a super class of all scenes within the game.
# ==============================================================================
class Scene_Base
# ----------------------------------------------------------------------------
# ♦ New method : reload
# Just a simple trick to refresh all windows without updating each position
# and size. But I have to admit this is a very awfull way to do things ...
# ----------------------------------------------------------------------------
def reload
pre_terminate
terminate
start
post_start
end
end # Scene_Base
# ==============================================================================
# ► Scene_Map
# ------------------------------------------------------------------------------
# This class performs the map screen processing.
# ==============================================================================
class Scene_Map
# ----------------------------------------------------------------------------
# ♦ Overwritten method : perform_battle_transition
# Execute Pre-Battle Transition.
# ----------------------------------------------------------------------------
def perform_battle_transition
file = Cache.prefix + "BattleStart" if VGA.get_highres and VGA::USE_HIGHRES_FILES
dummy = Cache.load_bitmap(VGA.get_files_folder + "System/", file) rescue nil
dummy == nil ? file = "Graphics/System/BattleStart" : file = VGA.get_files_folder + "System/" + file
Graphics.transition(60, file, 100)
Graphics.freeze
end
end # Scene_Map
# ==============================================================================
# ► Scene_Title
# ------------------------------------------------------------------------------
# This class performs the title screen processing.
# ==============================================================================
class Scene_Title < Scene_Base
# ----------------------------------------------------------------------------
# ◊ Aliased method : start
# Start Processing
# ----------------------------------------------------------------------------
alias :vga_alias_start :start
def start
vga_alias_start
create_options_window
close_options_window
end
# ----------------------------------------------------------------------------
# ◊ Aliased method : create_command_window
# Create Command Window
# ----------------------------------------------------------------------------
alias :vga_alias_create_command_window :create_command_window
def create_command_window
vga_alias_create_command_window
@command_window.set_handler(:options, method(:command_options))
end
# ----------------------------------------------------------------------------
# ♦ New method : create_options_window
# Create Options Window
# ----------------------------------------------------------------------------
def create_options_window
@options_window = Window_Options.new
@options_window.set_handler(:fullscreen, method(:command_fullscreen))
@options_window.set_handler(:highres, method(:command_highres))
@options_window.set_handler(:aspect_ratio, method(:command_aspect_ratio))
@options_window.set_handler(:show_infos, method(:command_show_infos))
@options_window.set_handler(:show_fps, method(:command_show_fps))
@options_window.set_handler(:cancel, method(:command_back))
end
# ----------------------------------------------------------------------------
# ♦ New method : open_command_window
# Open Command Window
# ----------------------------------------------------------------------------
def open_command_window
@command_window.open
update until @command_window.open?
@command_window.refresh
@command_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : open_options_window
# Open Options Window
# ----------------------------------------------------------------------------
def open_options_window
@options_window.open
update until @options_window.open?
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : close_options_window
# Close Options Window
# ----------------------------------------------------------------------------
def close_options_window
@options_window.close
update until @options_window.close?
end
# ----------------------------------------------------------------------------
# ◊ Aliased method : command_shutdown
# [shut Down] Command
# ----------------------------------------------------------------------------
alias :vga_alias_command_shutdown :command_shutdown
def command_shutdown
VGA.write_vga_config if VGA::SAVE_USER_CONFIG
vga_alias_command_shutdown
end
# ----------------------------------------------------------------------------
# ♦ New method : command_options
# [Go to Options] Command
# ----------------------------------------------------------------------------
def command_options
close_command_window
open_options_window
@command_window.refresh
@command_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_fullscreen
# [Fullscreen] Command
# ----------------------------------------------------------------------------
def command_fullscreen
VGA.toggle_fullscreen
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_highres
# [Highres] Command
# ----------------------------------------------------------------------------
def command_highres
index = @options_window.get_index
VGA.toggle_highres
close_command_window
open_options_window
@options_window.select(index)
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_aspect_ratio
# [Highres] Command
# ----------------------------------------------------------------------------
def command_aspect_ratio
index = @options_window.get_index
VGA.toggle_aspect_ratio
close_command_window
open_options_window
@options_window.select(index)
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_show_infos
# [show Infos] Command
# ----------------------------------------------------------------------------
def command_show_infos
VGA.toggle_show_infos
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_show_fps
# [show FPS] Command
# ----------------------------------------------------------------------------
def command_show_fps
VGA.toggle_show_fps
@options_window.refresh
@options_window.activate
end
# ----------------------------------------------------------------------------
# ♦ New method : command_back
# [back] Command
# ----------------------------------------------------------------------------
def command_back
VGA.write_vga_config
close_options_window
open_command_window
end
end # SceneTitle
# ==============================================================================
# ► Scene_End
# ------------------------------------------------------------------------------
# This class performs game over screen processing.
# ==============================================================================
class Scene_End < Scene_MenuBase
# ----------------------------------------------------------------------------
# ◊ Aliased method : command_shutdown
# [shut Down] Command.
# ----------------------------------------------------------------------------
alias :vga_alias_command_shutdown :command_shutdown
def command_shutdown
VGA.write_vga_config if VGA::SAVE_USER_CONFIG
vga_alias_command_shutdown
end
end # Scene_End -
eh pensavo che bisognava fare qualcos'altro
Scusate, ho messo schermo intero, risoluzione alta e formatto schermo sulla destra mancava una striscia di come dire quella nebbia (si vedeva chiaro) e nella taverna a sinistra vedevo il pezzo di destra.
Poi ho tolt formato scherm e la nebbia mancava anche una striscia sotto, cosa potrebbe essere?
se avessi letto prima io avevo detto di NON mettere alta risoluzione, toglilo e vedrai che il gioco si vedrà bene, lo schermo intero PUOI metterlo non dà problemi, e ALTA RISOLUZIONE che non devi mettere MAI.
-
Cosa devo fare per giocare dopo avere scaricato la demo?
Che domande ultra-demenziali u.u, devi estrarre e cliccare sul file eseguibile (il drago rosso) che stà nella cartella che avrai estratto.
Se stiamo a sto livello vuol dire che devi cominciare a studiare come funziona il computer prima di imparare a creare giochi, per il tuo bene te lo dico u.u
-
si, ho iniziato a registrare
Grande non vedo l'ora di vedere cosa dirai . Comunque giusto per correttezza, tutte le parti presenti nella demo sono state maggiormente curate, compresi interni delle strutture, e anche il buio è stato reso più realistico. Inoltre è stato cambiato il font dei caratteri e sono state aggiunte piccole cose che SICURAMENTE noterete nella versione finale (confrontando con la demo è ovvio).
-
penso di averlo trovato! quel pack di cui parlate son parecchi giga
hai trovato quei tileset?
-
nah nessun virus, tranquillo
eccolo, l'idolo del popolo
P.S: hai provato la demo "per caso" xD?
-
solo stè ha provato la demo?
Pocket Quest !
in Giochi RPG Maker Completi e Demo
Inviato · Report reply
Uzumaki eh xD? Fra tutti i nomi che si potevano dare ad una chiocciola proprio il cognome di un protagonista di un anime dovevate dare xD?