Project1

标题: 菜单图标显示 [打印本页]

作者: 李萧阳    时间: 2013-2-26 15:58
标题: 菜单图标显示


我想把“游戏开始”、“继续游戏”、“结束游戏”显示在红色框框那里。
请问脚本该怎么改?

RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #==============================================================================
  6. # ■ 图片标题菜单1.0
  7. # Scene_Title
  8. #------------------------------------------------------------------------------
  9. # 作者:chaochao
  10. # [url]http://zhuchao.go1.icpcn.com[/url]
  11. #==============================================================================
  12. class Scene_Title
  13.   def main
  14.     if $BTEST
  15.       battle_test
  16.       return
  17.     end
  18.     $data_actors = load_data("Data/Actors.rxdata")
  19.     $data_classes = load_data("Data/Classes.rxdata")
  20.     $data_skills = load_data("Data/Skills.rxdata")
  21.     $data_items = load_data("Data/Items.rxdata")
  22.     $data_weapons = load_data("Data/Weapons.rxdata")
  23.     $data_armors = load_data("Data/Armors.rxdata")
  24.     $data_enemies = load_data("Data/Enemies.rxdata")
  25.     $data_troops = load_data("Data/Troops.rxdata")
  26.     $data_states = load_data("Data/States.rxdata")
  27.     $data_animations = load_data("Data/Animations.rxdata")
  28.     $data_tilesets = load_data("Data/Tilesets.rxdata")
  29.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  30.     $data_system = load_data("Data/System.rxdata")
  31.     $game_system = Game_System.new
  32.     # 生成标题图形
  33.     [url=home.php?mod=space&uid=114926]@sprite[/url] = [Sprite.new]
  34.     for i in 0..6
  35.       @sprite[i] = Sprite.new
  36.       @sprite[i].opacity = 0
  37.     end
  38.     @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
  39.     @sprite[0].opacity = 0
  40.     #开始游戏的图片
  41.     @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/start-1.png")
  42.     @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/start-2.png")
  43.     #继续游戏的图片
  44.     @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/continue-1.png")
  45.     @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/continue-2.png")
  46.     #结束游戏的图片
  47.     @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/exit-1.png")
  48.     @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/exit-2.png")
  49.     #图片位置
  50.     for i in 1..6
  51.       x=250
  52.       y=(i+1)/2*35+313
  53.       @sprite[i].x =x
  54.       @sprite[i].y =y
  55.     end
  56.     @continue_enabled = false
  57.     for i in 0..3
  58.       if FileTest.exist?("Save#{i+1}.rxdata")
  59.         @continue_enabled = true
  60.       end
  61.     end
  62.     if @continue_enabled
  63.       @command_index = 1
  64.     else
  65.       @command_index = 0
  66.       @sprite[3].tone = Tone.new(0, 0, 0, 255)
  67.       @sprite[4].tone = Tone.new(0, 0, 0, 255)
  68.     end
  69.     $game_system.bgm_play($data_system.title_bgm)
  70.     Audio.me_stop
  71.     Audio.bgs_stop
  72.     Graphics.transition
  73.     loop do
  74.       Graphics.update
  75.       #淡出背景圖形
  76.       if @sprite[0].opacity <= 255
  77.         @sprite[0].opacity += 15
  78.       end
  79.       Input.update
  80.       update
  81.       if $scene != self
  82.         break
  83.       end
  84.     end
  85.     Graphics.freeze
  86.     # 釋放圖形
  87.     for i in 0..6
  88.       @sprite[i].bitmap.dispose
  89.       @sprite[i].dispose
  90.     end
  91.   end
  92.   def update
  93.   chaochaocommandchaochao
  94.   if Input.trigger?(Input::C)
  95.     case @command_index
  96.       when 0
  97.         command_new_game
  98.       when 1
  99.         command_continue
  100.       when 2
  101.         command_shutdown
  102.       end
  103.     end
  104.   end
  105.   def chaochaocommandchaochao
  106.     if Input.trigger?(Input::UP)
  107.       @command_index -= 1
  108.       if @command_index < 0
  109.         @command_index = 2
  110.       end
  111.       $game_system.se_play($data_system.cursor_se)
  112.     end
  113.     if Input.trigger?(Input::DOWN)
  114.       @command_index += 1
  115.       if @command_index > 2
  116.         @command_index = 0
  117.       end
  118.       $game_system.se_play($data_system.cursor_se)
  119.     end
  120.     case @command_index
  121.     when 0
  122.       if @sprite[1].opacity >= 0
  123.         @sprite[1].opacity -= 30
  124.       end
  125.       if @sprite[2].opacity <= 240
  126.         @sprite[2].opacity += 30
  127.       end
  128.       if @sprite[3].opacity <= 210
  129.         @sprite[3].opacity += 30
  130.       end
  131.       if @sprite[4].opacity >= 0
  132.         @sprite[4].opacity -= 30
  133.       end
  134.       if @sprite[5].opacity <= 210
  135.         @sprite[5].opacity += 30
  136.       end
  137.       if @sprite[6].opacity >= 0
  138.         @sprite[6].opacity -= 30
  139.       end
  140.     when 1
  141.       if @sprite[1].opacity <= 210
  142.         @sprite[1].opacity += 30
  143.       end
  144.       if @sprite[2].opacity >= 0
  145.         @sprite[2].opacity -= 30
  146.       end
  147.       if @sprite[3].opacity >= 0
  148.         @sprite[3].opacity -= 30
  149.       end
  150.       if @sprite[4].opacity <= 240
  151.         @sprite[4].opacity += 30
  152.       end
  153.       if @sprite[5].opacity <= 210
  154.         @sprite[5].opacity += 30
  155.       end
  156.       if @sprite[6].opacity >= 0
  157.         @sprite[6].opacity -= 30
  158.       end
  159.     when 2
  160.       if @sprite[1].opacity <= 210
  161.         @sprite[1].opacity += 30
  162.       end
  163.       if @sprite[2].opacity >= 0
  164.         @sprite[2].opacity -= 30
  165.       end
  166.       if @sprite[3].opacity <= 210
  167.         @sprite[3].opacity += 30
  168.       end
  169.       if @sprite[4].opacity >= 0
  170.         @sprite[4].opacity -= 30
  171.       end
  172.       if @sprite[5].opacity >= 0
  173.         @sprite[5].opacity -= 30
  174.       end
  175.       if @sprite[6].opacity <= 240
  176.         @sprite[6].opacity += 30
  177.       end
  178.     end
  179.   end
  180. end
  181.  
  182. #==============================================================================
  183. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  184. #==============================================================================

作者: wwwcctvty    时间: 2013-2-26 16:32
应该先改Window_Command类,然后在Scene_Title类里生成选项用的图片
作者: 弗雷德    时间: 2013-2-26 16:36
本帖最后由 弗雷德 于 2013-2-26 16:38 编辑

按键Input::UP 和Input::DOWN 分别改成 Input::LEFT 和Input::RIGHT

作者: 李萧阳    时间: 2013-2-26 16:58
弗雷德 发表于 2013-2-26 16:36
  • #图片位置
        for i in 1..6
          x=250

  •   for i in 1..6
          x=250
          y=(i+1)/2*35+313
          @sprite.x =x
          @sprite.y =y
        end

    这里不是很明白。
    平常改x和y我还可以理解,但是如果要把图标打横显示的话,我就不懂了。

    作者: 弗雷德    时间: 2013-2-26 17:27
    y坐标自己找一个值吧
    X 改成xxx+i*xxx具体数值自己慢慢调试




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