Project1

标题: 如何做华丽标题画面 [打印本页]

作者: jewmarx    时间: 2010-6-27 00:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: liqunsz    时间: 2010-6-27 11:37
标题: 如何做华丽标题画面
其实LZ可以仔细看看这个标题的构成,实际上并没有太多的构成,个人觉得主要是图片比较出彩,人家商业游戏图片之类的肯定做得比较好。
一个标题,主要的作用就是【开始游戏】【读取存档】【退出游戏】大概就是这三类,丰富一点的就是【游戏设置】【CG浏览】一类的功能了。
标题文字看这幅图的话是有一层金属色描边的,背景则是做了较多的处理,像古旧的羊皮纸那类的。可以上网搜索一些比较有质感的风景图,用PS一些滤镜处理一下,文字则描边、改色。那种活跃的字体应该并不是字库直接打上去的,可以找一个类似点的字体,PS转换为路径慢慢调整。
事件还是脚本都可以,事件可以做的很华丽,也可以全动态,但要注意不要过多的自动执行、并行处理,否则到时候速度是相当的……
或者也可以把选择文字直接嵌到标题图片里面去,然后脚本处理选框,对准坐标【坐标可以先截图,到PS里选择【信息】面板,单位设置成像素,找好位置】
论坛上也有许多其他人做好的标题范例,可以学习学习!
作者: GM.01    时间: 2010-6-27 12:46
标题: 如何做华丽标题画面
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# ■ 图片标题菜单1.0
# Scene_Title
#------------------------------------------------------------------------------
# 作者:chaochao
# http://zhuchao.go1.icpcn.com
#==============================================================================
class Scene_Title
  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]
    for i in 0..6
      @sprite[i] = Sprite.new
      @sprite[i].opacity = 0
    end
    @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
    @sprite[0].opacity = 0
    #开始游戏的图片
    @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
    @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
    #继续游戏的图片
    @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
    @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
    #结束游戏的图片
    @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
    @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
    #图片位置
    for i in 1..6
      x=110
      y=(i+1)/2*35+240
      @sprite[i].x =x
      @sprite[i].y =y
    end
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_index = 1
    else
      @command_index = 0
      @sprite[3].tone = Tone.new(0, 0, 0, 255)
      @sprite[4].tone = Tone.new(0, 0, 0, 255)
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      #淡出背景圖形
      if @sprite[0].opacity <= 255
        @sprite[0].opacity += 15
      end
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    # 釋放圖形
    for i in 0..6
      @sprite[i].bitmap.dispose
      @sprite[i].dispose
    end
  end
  def update
  chaochaocommandchaochao
  if Input.trigger?(Input::C)
    case @command_index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_shutdown
      end
    end
  end
  def chaochaocommandchaochao
    if Input.trigger?(Input::UP)
      @command_index -= 1
      if @command_index < 0
        @command_index = 2
      end
      $game_system.se_play($data_system.cursor_se)
    end
    if Input.trigger?(Input::DOWN)
      @command_index += 1
      if @command_index > 2
        @command_index = 0
      end
      $game_system.se_play($data_system.cursor_se)
    end
    case @command_index
    when 0
      if @sprite[1].opacity >= 0
        @sprite[1].opacity -= 30
      end
      if @sprite[2].opacity <= 240
        @sprite[2].opacity += 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 1
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity >= 0
        @sprite[3].opacity -= 30
      end
      if @sprite[4].opacity <= 240
        @sprite[4].opacity += 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 2
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
    end
  end
end
#==============================================================================
# ■ 图片标题菜单1.0
# Scene_Title
#------------------------------------------------------------------------------
# 作者:chaochao
# http://zhuchao.go1.icpcn.com
#==============================================================================
class Scene_Title
  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]
    for i in 0..6
      @sprite[i] = Sprite.new
      @sprite[i].opacity = 0
    end
    @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
    @sprite[0].opacity = 0
    #开始游戏的图片
    @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
    @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
    #继续游戏的图片
    @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
    @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
    #结束游戏的图片
    @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
    @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
    #图片位置
    for i in 1..6
      x=110
      y=(i+1)/2*35+240
      @sprite[i].x =x
      @sprite[i].y =y
    end
    @continue_enabled = false
    for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        @continue_enabled = true
      end
    end
    if @continue_enabled
      @command_index = 1
    else
      @command_index = 0
      @sprite[3].tone = Tone.new(0, 0, 0, 255)
      @sprite[4].tone = Tone.new(0, 0, 0, 255)
    end
    $game_system.bgm_play($data_system.title_bgm)
    Audio.me_stop
    Audio.bgs_stop
    Graphics.transition
    loop do
      Graphics.update
      #淡出背景圖形
      if @sprite[0].opacity <= 255
        @sprite[0].opacity += 15
      end
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    # 釋放圖形
    for i in 0..6
      @sprite[i].bitmap.dispose
      @sprite[i].dispose
    end
  end
  def update
  chaochaocommandchaochao
  if Input.trigger?(Input::C)
    case @command_index
      when 0
        command_new_game
      when 1
        command_continue
      when 2
        command_shutdown
      end
    end
  end
  def chaochaocommandchaochao
    if Input.trigger?(Input::UP)
      @command_index -= 1
      if @command_index < 0
        @command_index = 2
      end
      $game_system.se_play($data_system.cursor_se)
    end
    if Input.trigger?(Input::DOWN)
      @command_index += 1
      if @command_index > 2
        @command_index = 0
      end
      $game_system.se_play($data_system.cursor_se)
    end
    case @command_index
    when 0
      if @sprite[1].opacity >= 0
        @sprite[1].opacity -= 30
      end
      if @sprite[2].opacity <= 240
        @sprite[2].opacity += 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 1
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity >= 0
        @sprite[3].opacity -= 30
      end
      if @sprite[4].opacity <= 240
        @sprite[4].opacity += 30
      end
      if @sprite[5].opacity <= 210
        @sprite[5].opacity += 30
      end
      if @sprite[6].opacity >= 0
        @sprite[6].opacity -= 30
      end
    when 2
      if @sprite[1].opacity <= 210
        @sprite[1].opacity += 30
      end
      if @sprite[2].opacity >= 0
        @sprite[2].opacity -= 30
      end
      if @sprite[3].opacity <= 210
        @sprite[3].opacity += 30
      end
      if @sprite[4].opacity >= 0
        @sprite[4].opacity -= 30
      end
      if @sprite[5].opacity >= 0
        @sprite[5].opacity -= 30
      end
      if @sprite[6].opacity <= 240
        @sprite[6].opacity += 30
      end
    end
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

作者: jewmarx    时间: 2010-6-27 12:49
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1