Project1

标题: 可否把图片菜单效果和鼠标系统结合起来? [打印本页]

作者: klyy133    时间: 2011-1-28 15:34
标题: 可否把图片菜单效果和鼠标系统结合起来?
首先我用的图片标题菜单的脚本实现开场菜单的图片标题效果,但是我添加鼠标加强版脚本的时候,鼠标无法再开场的菜单中起到效果,单击任何地方都是会以开始游戏进入。能否给个能以鼠标点击确定为系统的图片标题菜单脚本。。。

图片标题菜单脚本如下
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #==============================================================================
  5. # ■ 图片标题菜单1.0
  6. # Scene_Title
  7. #------------------------------------------------------------------------------
  8. # 作者:chaochao
  9. # http://zhuchao.go1.icpcn.com
  10. #==============================================================================
  11. class Scene_Title
  12.   def main
  13.     if $BTEST
  14.       battle_test
  15.       return
  16.     end
  17.     $data_actors = load_data("Data/Actors.rxdata")
  18.     $data_classes = load_data("Data/Classes.rxdata")
  19.     $data_skills = load_data("Data/Skills.rxdata")
  20.     $data_items = load_data("Data/Items.rxdata")
  21.     $data_weapons = load_data("Data/Weapons.rxdata")
  22.     $data_armors = load_data("Data/Armors.rxdata")
  23.     $data_enemies = load_data("Data/Enemies.rxdata")
  24.     $data_troops = load_data("Data/Troops.rxdata")
  25.     $data_states = load_data("Data/States.rxdata")
  26.     $data_animations = load_data("Data/Animations.rxdata")
  27.     $data_tilesets = load_data("Data/Tilesets.rxdata")
  28.     $data_common_events = load_data("Data/CommonEvents.rxdata")
  29.     $data_system = load_data("Data/System.rxdata")
  30.     $game_system = Game_System.new
  31.     # 生成标题图形
  32.     @sprite = [Sprite.new]
  33.     for i in 0..6
  34.       @sprite[i] = Sprite.new
  35.       @sprite[i].opacity = 0
  36.     end
  37.     @sprite[0].bitmap = RPG::Cache.title($data_system.title_name)
  38.     @sprite[0].opacity = 0
  39.     #开始游戏的图片
  40.     @sprite[1].bitmap = Bitmap.new("Graphics/Pictures/新的开始_1.png")
  41.     @sprite[2].bitmap = Bitmap.new("Graphics/Pictures/新的开始_2.png")
  42.     #继续游戏的图片
  43.     @sprite[3].bitmap = Bitmap.new("Graphics/Pictures/读取游戏_1.png")
  44.     @sprite[4].bitmap = Bitmap.new("Graphics/Pictures/读取游戏_2.png")
  45.     #结束游戏的图片
  46.     @sprite[5].bitmap = Bitmap.new("Graphics/Pictures/离开游戏_1.png")
  47.     @sprite[6].bitmap = Bitmap.new("Graphics/Pictures/离开游戏_2.png")
  48.     #图片位置
  49.     for i in 1..6
  50.       x=110
  51.       y=(i+1)/2*35+240
  52.       @sprite[i].x =x
  53.       @sprite[i].y =y
  54.     end
  55.     @continue_enabled = false
  56.     for i in 0..3
  57.       if FileTest.exist?("Save#{i+1}.rxdata")
  58.         @continue_enabled = true
  59.       end
  60.     end
  61.     if @continue_enabled
  62.       @command_index = 1
  63.     else
  64.       @command_index = 0

  65.     end
  66.     $game_system.bgm_play($data_system.title_bgm)
  67.     Audio.me_stop
  68.     Audio.bgs_stop
  69.     Graphics.transition
  70.     loop do
  71.       Graphics.update
  72.       #淡出背景圖形
  73.       if @sprite[0].opacity <= 255
  74.         @sprite[0].opacity += 15
  75.       end
  76.       Input.update
  77.       update
  78.       if $scene != self
  79.         break
  80.       end
  81.     end
  82.     Graphics.freeze
  83.     # 釋放圖形
  84.     for i in 0..6
  85.       @sprite[i].bitmap.dispose
  86.       @sprite[i].dispose
  87.     end
  88.   end
  89.   def update
  90.   chaochaocommandchaochao
  91.   if Input.trigger?(Input::C)
  92.     case @command_index
  93.       when 0
  94.         command_new_game
  95.       when 1
  96.         command_continue
  97.       when 2
  98.         command_shutdown
  99.       end
  100.     end
  101.   end
  102.   def chaochaocommandchaochao
  103.     if Input.trigger?(Input::UP)
  104.       @command_index -= 1
  105.       if @command_index < 0
  106.         @command_index = 2
  107.       end
  108.       $game_system.se_play($data_system.cursor_se)
  109.     end
  110.     if Input.trigger?(Input::DOWN)
  111.       @command_index += 1
  112.       if @command_index > 2
  113.         @command_index = 0
  114.       end
  115.       $game_system.se_play($data_system.cursor_se)
  116.     end
  117.     case @command_index
  118.     when 0
  119.       if @sprite[1].opacity >= 0
  120.         @sprite[1].opacity -= 30
  121.       end
  122.       if @sprite[2].opacity <= 240
  123.         @sprite[2].opacity += 30
  124.       end
  125.       if @sprite[3].opacity <= 210
  126.         @sprite[3].opacity += 30
  127.       end
  128.       if @sprite[4].opacity >= 0
  129.         @sprite[4].opacity -= 30
  130.       end
  131.       if @sprite[5].opacity <= 210
  132.         @sprite[5].opacity += 30
  133.       end
  134.       if @sprite[6].opacity >= 0
  135.         @sprite[6].opacity -= 30
  136.       end
  137.     when 1
  138.       if @sprite[1].opacity <= 210
  139.         @sprite[1].opacity += 30
  140.       end
  141.       if @sprite[2].opacity >= 0
  142.         @sprite[2].opacity -= 30
  143.       end
  144.       if @sprite[3].opacity >= 0
  145.         @sprite[3].opacity -= 30
  146.       end
  147.       if @sprite[4].opacity <= 240
  148.         @sprite[4].opacity += 30
  149.       end
  150.       if @sprite[5].opacity <= 210
  151.         @sprite[5].opacity += 30
  152.       end
  153.       if @sprite[6].opacity >= 0
  154.         @sprite[6].opacity -= 30
  155.       end
  156.     when 2
  157.       if @sprite[1].opacity <= 210
  158.         @sprite[1].opacity += 30
  159.       end
  160.       if @sprite[2].opacity >= 0
  161.         @sprite[2].opacity -= 30
  162.       end
  163.       if @sprite[3].opacity <= 210
  164.         @sprite[3].opacity += 30
  165.       end
  166.       if @sprite[4].opacity >= 0
  167.         @sprite[4].opacity -= 30
  168.       end
  169.       if @sprite[5].opacity >= 0
  170.         @sprite[5].opacity -= 30
  171.       end
  172.       if @sprite[6].opacity <= 240
  173.         @sprite[6].opacity += 30
  174.       end
  175.     end
  176.   end
  177. end

  178. #==============================================================================
  179. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  180. #==============================================================================
复制代码

作者: 银·乌尔    时间: 2011-1-28 16:35
如果把原来默认的那个标题选项窗口的项目坐标和窗口位置调整到跟图片位置一致的时候,就可以实现鼠标来控制了.
作者: bzzdhm    时间: 2011-1-29 07:46
判断鼠标的xy坐标
作者: wxr007    时间: 2011-2-4 16:45
我会,自己已经做了
作者: szcszc156    时间: 2012-5-31 13:43
http://kuai.xunlei.com/d/YWQODTKRAYHY
看看这个满意不
作者: chd114    时间: 2012-5-31 18:29
完全可以




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