Project1

标题: 做了个图片菜单,但是出现了问题 [打印本页]

作者: zxc3824    时间: 2011-8-14 18:17
标题: 做了个图片菜单,但是出现了问题
Project1.zip (694.36 KB, 下载次数: 36)

做了个结束游戏的图片菜单,仿仙剑4的存档菜单,但是出现了个问题,就是用鼠标倒没有什么,按了键盘的方向键就


这是仿照一个图片标题菜单做的,另外使用了该脚本,就无法取消了该命令了,简单点说就是我进入结束游戏画面以后,我退不回菜单画面了,按esc键也不行dsu_plus_rewardpost_czw
作者: Wind2010    时间: 2011-8-14 18:24
本帖最后由 Wind2010 于 2011-8-14 18:37 编辑

我想知道右下角的×为什么不能按
  1. class Scene_End
  2.     def main
  3.     # 生成标题图形
  4.     @sprite = [Sprite.new]
  5.     for i in 0..6
  6.       @sprite[i] = Sprite.new
  7.       @sprite[i].opacity = 0
  8.     end
  9.     @sprite[0].bitmap = RPG::Cache.picture("离开游戏画面")
  10.     @sprite[0].opacity = 0
  11.     #储存游戏的图片
  12.     @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/储存游戏-2.png")
  13.     @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/储存游戏-1.png")
  14.     #读取游戏的图片
  15.     @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/读取游戏-2.png")
  16.     @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/读取游戏-1.png")
  17.     #离开游戏的图片
  18.     @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/离开游戏-2.png")
  19.     @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/离开游戏-1.png")
  20.     #图片位置
  21.     for i in 1..6
  22.       case i
  23.          when 1
  24.            x=0
  25.            y=0
  26.            @sprite[i].x =x
  27.            @sprite[i].y =y
  28.          when 2
  29.             x=0
  30.             y=0
  31.             @sprite[i].x =x
  32.             @sprite[i].y =y
  33.          when 3
  34.            x=0
  35.            y=0
  36.            @sprite[i].x =x
  37.            @sprite[i].y =y
  38.          when 4
  39.             x=0
  40.             y=0
  41.             @sprite[i].x =x
  42.             @sprite[i].y =y
  43.          when 5
  44.            x=0
  45.            y=0
  46.            @sprite[i].x =x
  47.            @sprite[i].y =y
  48.          when 6
  49.             x=0
  50.             y=0
  51.             @sprite[i].x =x
  52.             @sprite[i].y =y

  53.        end     
  54.            
  55.            
  56.       
  57.     end
  58.    # $game_system.bgm_play($data_system.map_bgm)
  59.     Audio.me_stop
  60.     Audio.bgs_stop
  61.     Graphics.transition
  62.     loop do
  63.       Graphics.update
  64.       #淡出背景圖形
  65.       # louse 改
  66.       if @sprite[0].opacity < 255
  67.         @sprite[0].opacity += 15
  68.         @command_index = 0 if @sprite[0].opacity==255
  69.       end
  70.       # louse 改
  71.       Input.update
  72.       update
  73.       if $scene != self
  74.         break
  75.       end
  76.     end
  77.     Graphics.freeze
  78.     # 釋放圖形
  79.     for i in 0..6
  80.       @sprite[i].bitmap.dispose
  81.       @sprite[i].dispose
  82.     end
  83.   end
  84.   def update
  85.     chaochaocommandchaochao
  86.     if Input.trigger?(Input::C)
  87.       case @command_index
  88.       when 0
  89.         command_save
  90.       when 1
  91.         command_load
  92.       when 2
  93.         command_to_title
  94.       end
  95.     end
  96.     if Input.trigger?(Input::B)
  97.       # louse 要切换的场景
  98.       return
  99.     end
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 命令 : 存档
  103.   #--------------------------------------------------------------------------
  104.   def command_save
  105.     # 演奏确定 SE
  106.     $game_system.se_play($data_system.decision_se)
  107.     # 切换到存档画面
  108.     $scene = Scene_Save.new
  109.   end

  110.   #--------------------------------------------------------------------------
  111.   # ● 命令 : 继续
  112.   #--------------------------------------------------------------------------
  113.   def command_load
  114.     # 演奏确定 SE
  115.     $game_system.se_play($data_system.decision_se)
  116.     # 切换到读档画面
  117.     $scene = Scene_Load2.new
  118.   end

  119.   #--------------------------------------------------------------------------
  120.   # ● 选择命令 [返回标题画面] 时的处理
  121.   #--------------------------------------------------------------------------
  122.   def command_to_title
  123.     # 演奏确定 SE
  124.     $game_system.se_play($data_system.decision_se)
  125.     # 淡入淡出 BGM、BGS、ME
  126.     Audio.bgm_fade(800)
  127.     Audio.bgs_fade(800)
  128.     Audio.me_fade(800)
  129.     # 切换到标题画面
  130.     $scene = Scene_Title.new
  131.   end

  132.   def chaochaocommandchaochao
  133.     if Input.trigger?(Input::UP)
  134.       @command_index -= 1
  135.       if @command_index < 0
  136.         @command_index = 2
  137.       end
  138.       $game_system.se_play($data_system.cursor_se)
  139.     end
  140.     if Input.trigger?(Input::DOWN)
  141.       @command_index += 1
  142.       if @command_index > 2
  143.         @command_index = 0
  144.       end
  145.       $game_system.se_play($data_system.cursor_se)
  146.     end
  147.     # 鼠标响应
  148.     mouse_x, mouse_y = Mouse.get_mouse_pos
  149.     if (mouse_x>593) and (mouse_x<638)and(mouse_y>149)and(mouse_y<192)
  150.      if @command_index != 0
  151.      $game_system.se_play($data_system.cursor_se)
  152.      end
  153.      @command_index = 0
  154.     end
  155.     if (mouse_x>582) and (mouse_x<626)and(mouse_y>223)and(mouse_y<264)
  156.      if @command_index != 1
  157.       $game_system.se_play($data_system.cursor_se)
  158.      end
  159.      @command_index = 1
  160.     end
  161.     if (mouse_x>583) and (mouse_x<635)and(mouse_y>349)and(mouse_y<399)
  162.      if @command_index != 2
  163.       $game_system.se_play($data_system.cursor_se)
  164.      end
  165.      @command_index = 2
  166.    end
  167.      #修改………………
  168.     case @command_index
  169.     when 0
  170.       if @sprite[1].opacity >= 0
  171.         @sprite[1].opacity -= 30
  172.       end
  173.       if @sprite[2].opacity <= 240
  174.         @sprite[2].opacity += 30
  175.       end
  176.       if @sprite[3].opacity <= 210
  177.         @sprite[3].opacity += 30
  178.       end
  179.       if @sprite[4].opacity >= 0
  180.         @sprite[4].opacity -= 30
  181.       end
  182.       if @sprite[5].opacity <= 210
  183.         @sprite[5].opacity += 30
  184.       end
  185.       if @sprite[6].opacity >= 0
  186.         @sprite[6].opacity -= 30
  187.       end

  188.     when 1
  189.       if @sprite[1].opacity <= 210
  190.         @sprite[1].opacity += 30
  191.       end
  192.       if @sprite[2].opacity >= 0
  193.         @sprite[2].opacity -= 30
  194.       end
  195.       if @sprite[3].opacity >= 0
  196.         @sprite[3].opacity -= 30
  197.       end
  198.       if @sprite[4].opacity <= 240
  199.         @sprite[4].opacity += 30
  200.       end
  201.       if @sprite[5].opacity <= 210
  202.         @sprite[5].opacity += 30
  203.       end
  204.       if @sprite[6].opacity >= 0
  205.         @sprite[6].opacity -= 30
  206.       end
  207.       
  208.     when 2
  209.       if @sprite[1].opacity <= 210
  210.         @sprite[1].opacity += 30
  211.       end
  212.       if @sprite[2].opacity >= 0
  213.         @sprite[2].opacity -= 30
  214.       end
  215.       if @sprite[3].opacity <= 210
  216.         @sprite[3].opacity += 30
  217.       end
  218.       if @sprite[4].opacity >= 0
  219.         @sprite[4].opacity -= 30
  220.       end
  221.       if @sprite[5].opacity >= 0
  222.         @sprite[5].opacity -= 30
  223.       end
  224.       if @sprite[6].opacity <= 240
  225.         @sprite[6].opacity += 30
  226.       end
  227.     end
  228.   end
  229. end
复制代码
这个是改过的Scene_End,哪里修改过可以通过查找# louse找到
作者: zxc3824    时间: 2011-8-14 19:42
本帖最后由 zxc3824 于 2011-8-15 15:15 编辑
Wind2010 发表于 2011-8-14 18:24
我想知道右下角的×为什么不能按这个是改过的Scene_End,哪里修改过可以通过查找# louse找到 ...


另外,那个方向键的问题做好了吗?


zxc3824于2011-8-15 15:15补充以下内容:
我改成
    if Input.trigger?(Input::B)
    # 演奏确定 SE
    $game_system.se_play($data_system.decision_se)
    # 切换到菜单画面
    $scene = Scene_Menu.new
    end      

就出现





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