Envision, Create, Share

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.

An scrolling title menu?

To start with, I and scripting/coding and such is not a too
good mix, so I have no clue of what that can be done and what
that can not.

Second, I've used the search for this, but got no results, maybe I used
wrong keywords, but "Scrolling title menu" , "Animated title menu", and so on, did
sound like good ones. I searched a little by hand also, in the Archive and
so, but well, quit empty handed still.

So maybe it doesn't work, or maybe non have made such a script yet or
something, but well, no answers without questions.

So, is it possible to make a scrolling title menu like in the example
I putted togheter in the link below?
http://i91.photobucket.com/albums/k319/Nimmeriz/Titlescreen.gif

Second question would be, if possible, what kind of "skill level" would it require
to make a script like this or maybe, if possible, editing the existing script?
I concider my scripting "skill level" to be rated extremly low, I just know
how to edit a few things, so maybe I'm taking water over my head here.

Thanks in advance for any info.

Edit: Ps. Maybe I should tell this would be for RMXP.
 
1. The picture is amazing
2. It can be done. Even harder systems like online games and 3D, can be achieved with scripting.
3. I don't think anyone thought of 'animated title screens' before. :D
4. you don't need 'animation' (animations require a special script), just make a picture with the text game/continue and change its y position(picture.y) to make it go up/down.
5. You don't need a menu, just a loop which cycles the picture up/down. when the player hits Enter, stop
and check if 'continue' or 'new game' are shown inside the box. Make the background with a 'hole' in it, and place it above the other picture. The value: picture.z is the picture's 'layer', layer 2 is above 1, etc.
6. You can use animation/menu, if you wish but I believe it'll be harder.
7. code for detecting Enter being pressed: if Input.trigger?(Input::C)
 
silver wind":xcdsvi4y said:
1. The picture is amazing
2. I don't think anyone thought of 'animated title screens' before. :D
3. you don't need 'animation' (animations require a special script), just make a picture with the text game/continue and change its y position(picture.y) to make it go up/down.
4. You don't need a menu, just a loop which cycles the picture up/down. when the player hits Enter, stop
and check if 'continue' or 'new game' are shown inside the box. Make the background with a 'hole' in it, and place it above the other picture. The value: picture.z is the picture's 'layer', layer 2 is above 1, etc.
5. You can use animation/menu, if you wish but I believe it'll be harder.

Thanks for the tips, I'll start out with that. :biggrin:
 

Atoa

Member

I'm going to use something like that on my project, the cursor will be fixed and the options will move.
something like:
Code:
 

              New Game

>New Game<   >Continue<

 Contiune     End Game

 End Game
This is really easy to acheive.

Just make conditions according to the comand window index (the command window must be invisible).
Then make them move the image.

All you will have to do is to edit the scene title.

I'm working on other things of my project, but if you don't get this working when i finnish it, i will let you know how exactly you can do this.

Edit:
I did ;D
If you're going to use only 2 options go to this line
@command_window = Window_Command.new(192, [s1, s2, s3])
and leave it like this:
@command_window = Window_Command.new(192, [s1, s2])

to edit the windo postion, graphic and movement go to these lines:
Option_Image = "Option Image file name"
Window_Image = "Window Image file name"
Option_Image_Coord = [200, 300]
Window_Image_Coord = [200, 300]
Move_Space = 32
Move_Speed = 4

Adjust the postion of the images and configure the move space (it may change according to the options image height).
The images must be on WindowSkin folder.
Code:
#==============================================================================

# Scene_Title

#==============================================================================

class Scene_Title

  #--------------------------------------------------------------------------

  Option_Image = "Option Image file name"

  Window_Image = "Window Image file name"

  Option_Image_Coord = [200, 300]

  Window_Image_Coord = [200, 300]

  Move_Space = 32

  Move_Speed = 4

  #--------------------------------------------------------------------------

  def main

    if $BTEST

      battle_test

      return

    end

    $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

    @sprite = Sprite.new

    @sprite.bitmap = RPG::Cache.title($data_system.title_name)

    s1 = ""

    s2 = ""

    s3 = ""

    @command_window = Window_Command.new(192, [s1, s2, s3])

    @command_window.back_opacity = 160

    @command_window.x = 320 - @command_window.width / 2

    @command_window.y = 288

    @command_window.opacity = @command_window.back_opacity = @command_window.contents_opacity =  0

    @options_image = Sprite.new

    @options_image.bitmap = RPG::Cache.windowskin(Option_Image)

    @options_image.x = Option_Image_Coord[0]

    @options_image.y = Option_Image_Coord[1]

    @options_window = Sprite.new

    @options_window.bitmap = RPG::Cache.windowskin(Window_Image)

    @options_window.x = Window_Image_Coord[0]

    @options_window.y = Window_Image_Coord[1]

    @options_image.z,@options_window.z = 900,1000

    @old_index = @command_window.index

    @continue_enabled = false

    for i in 0..3

      if FileTest.exist?("Save#{i+1}.rxdata")

        @continue_enabled = true

      end

    end

    if @continue_enabled

      @command_window.index = 1

    else

      @command_window.disable_item(1)

    end

    $game_system.bgm_play($data_system.title_bgm)

    Audio.me_stop

    Audio.bgs_stop

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      break if $scene != self

    end

    Graphics.freeze

    @command_window.dispose

    @sprite.bitmap.dispose

    @sprite.dispose

  end

  #--------------------------------------------------------------------------

  def update

    @command_window.update

    move_options

    if Input.trigger?(Input::C)

      case @command_window.index

      when 0

        command_new_game

      when 1

        command_continue

      when 2

        command_shutdown

      end

    end

  end

  #--------------------------------------------------------------------------

  def move_options

    if @old_index != @command_window.index

      loop do

        break if check_coord(@command_window.index)

        if @command_window.index > @old_index

          @options_image.y -= Move_Speed

        elsif @command_window.index < @old_index

          @options_image.y += Move_Speed

        end

        Graphics.update

      end

    end

    @old_index = @command_window.index

  end

  #--------------------------------------------------------------------------

  def check_coord(index)

    if index > @old_index and @options_image.y <= (Option_Image_Coord[1] - (index * Move_Space))

      return true

    elsif index < @old_index and @options_image.y >= (Option_Image_Coord[1] - (index * Move_Space))

      return true

    end

    return false

  end

end
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top