Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.
Yes you should be able to make a intro scene such as this one. I suggest you look at YouTube tutorials and you should be able to find some that cover this area.
I did mine combined with a splash script (not of my making) that displays two images that must be saved as Intro-1.png and Intro-2.png in your pictures and then I set up a scene that skips to a map wherever you set your starting location without going to the title screen. I don't know who made the original splash script- I can't find the site where I got it -___- I'll keep looking though.
To access the title screen later, just use the event command that calls up the title screen.
Change line 11 of main to this:
Code:
$scene = Scene_Splash.new
Insert this script in as Scene_Splash
Code:
#------------------------------------------------------------------------
# Show two splashscreens when your game loads
#------------------------------------------------------------------------
class Scene_Splash
#--------------------------------------------------------------------------
# ● Initialize the scene
#--------------------------------------------------------------------------
def main
# Load the System database & create a new game
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
# Initialize some transition stuff
@show = true
@hide = false
@n = 0
@splash_numb = 2
# Define info about each splash screen
@sprite1 = Sprite.new
@sprite1.bitmap = RPG::Cache.picture("Intro-1")
@sprite1.opacity = 0
@sprite2 = Sprite.new
@sprite2.bitmap = RPG::Cache.picture("Intro-2")
@sprite2.opacity = 0
# Update graphics and input
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
# Discard your graphics when you leave this scene
Graphics.freeze
@sprite1.dispose
@sprite2.dispose
end
#--------------------------------------------------------------------------
# ● Update the contents in this scene
#--------------------------------------------------------------------------
def update
# If SPACEBAR is pressed, go to to title screen
if Input.trigger?(Input::C)
$scene = Scene_Skip.new
end
# Change the opacity of the graphics
transition
# Update graphics
@sprite1.update
@sprite2.update
end
#--------------------------------------------------------------
# Transition through splash screens
#--------------------------------------------------------------
def transition
# Fade in a splashscreen
if @show == true
@n += 2
if @n > 255
@hide = true
@show = false
@n = 255
end
end
# Fade out a splashscreen and load the next one
if @hide == true
@n -= 2
if @n < 0
@hide = false
@show = true
@splash_numb -= 1
@n = 0
end
end
# Choose which action to perform in this scene
case @splash_numb
when 0
$scene = Scene_Skip.new
when 1
@sprite2.opacity = @n
when 2
@sprite1.opacity = @n
end
end
end
And add in another new script titled Scene_Skip
Code:
#==============================================================================
# ** Scene_Skip
#------------------------------------------------------------------------------
# This scene skips the title #==============================================================================
class Scene_Skip
def main
# Load database
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata")
$game_system = Game_System.new
# Reset frame count for measuring play time
Graphics.frame_count = 0
# Make each type of game object
$game_temp = Game_Temp.new
$game_system = Game_System.new
$game_switches = Game_Switches.new
$game_variables = Game_Variables.new
$game_self_switches = Game_SelfSwitches.new
$game_screen = Game_Screen.new
$game_actors = Game_Actors.new
$game_party = Game_Party.new
$game_troop = Game_Troop.new
$game_map = Game_Map.new
$game_player = Game_Player.new
# Set up initial party
$game_party.setup_starting_members
# Set up initial map position
$game_map.setup($data_system.start_map_id)
# Move player to initial position
$game_player.moveto($data_system.start_x, $data_system.start_y)
# Refresh player
$game_player.refresh
# Run automatic change for BGM and BGS set with map
$game_map.autoplay
# Update map (run parallel process event)
$game_map.update
# Switch to map screen
$scene = Scene_Map.new
end
end
That will transfer your player to player's starting location.