查看: 4246|回复: 4

[已经解决] 菜单图标显示

[复制链接]
梦石
0
星屑
50
在线时间
581 小时
注册时间
2012-5-13
回帖
253
发表于 2013-2-26 15:58:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
hlplll.png

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

[pre lang="ruby" line="1"]#==============================================================================
# 本脚本来自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 = Sprite.new
      @sprite.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=250
      y=(i+1)/2*35+313
      @sprite.x =x
      @sprite.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.bitmap.dispose
      @sprite.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,使用和转载请保留此信息
#==============================================================================
[/pre]
梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
回帖
711
发表于 2013-2-26 16:32:26 | 显示全部楼层
应该先改Window_Command类,然后在Scene_Title类里生成选项用的图片
回复

使用道具 举报

万兽

梦石
0
星屑
602
在线时间
2271 小时
注册时间
2006-11-4
回帖
4701

贵宾

发表于 2013-2-26 16:36:56 | 显示全部楼层
本帖最后由 弗雷德 于 2013-2-26 16:38 编辑


  • #图片位置
        for i in 1..6
          x=250
          y=(i+1)/2*35+313
          @sprite[i].x =x
          @sprite[i].y =y
  •     end
  • X Y 坐标会改吧?

    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

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

评分

参与人数 1梦石 +1 收起 理由
hcm + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
581 小时
注册时间
2012-5-13
回帖
253
 楼主| 发表于 2013-2-26 16:58:20 | 显示全部楼层
弗雷德 发表于 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我还可以理解,但是如果要把图标打横显示的话,我就不懂了。
    回复

    使用道具 举报

    万兽

    梦石
    0
    星屑
    602
    在线时间
    2271 小时
    注册时间
    2006-11-4
    回帖
    4701

    贵宾

    发表于 2013-2-26 17:27:35 | 显示全部楼层
    y坐标自己找一个值吧
    X 改成xxx+i*xxx具体数值自己慢慢调试

    点评

    我已经明白了。谢谢~  发表于 2013-2-26 17:30
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖返回顶部