设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 968|回复: 2
打印 上一主题 下一主题

[已经解决] 图片按钮的问题(有工程)

 关闭 [复制链接]

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
跳转到指定楼层
1
发表于 2011-11-4 22:48:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 幻耶 于 2011-11-4 22:48 编辑

茄子的图片按钮,原来的战斗按钮是高亮显示的,我修改成了循环放大缩小显示的效果,但是标题画面的图片按钮也变成了循环放大缩小显示,如何让标题画面的按钮还是原来的高亮显示,战斗按钮继续保持放大缩小显示?
工程:
★_茄孓_图片按钮1.rar (319.39 KB, 下载次数: 90)



原始脚本高亮显示
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新图片项目
  3.   #--------------------------------------------------------------------------
  4.   def update_item
  5.     if Mouse.get_mouse_pos != nil
  6.     $mouse_x,$mouse_y = Mouse.get_mouse_pos
  7.     end
  8.     if @type == 2
  9.     for index in @dash
  10.      if @sprite[index] != nil
  11.       top_x = @sprite[index].x
  12.       top_y = @sprite[index].y
  13.       bottom_x = top_x + @sprite[index].bitmap.width
  14.       bottom_y = top_y + @sprite[index].bitmap.height
  15.       if ($mouse_x > top_x) and ($mouse_y > top_y) and
  16.            ($mouse_x < bottom_x) and ($mouse_y < bottom_y)
  17.            self.index = @sprite[index].index
  18.            if @move_index != self.index
  19.            Se.ok
  20.            @move_index = self.index
  21.          end
  22.       end
  23.       if @sprite[index].index != self.index
  24.         @sprite[index].color = Color.new(0,0,0,100)
  25.       else
  26.         @sprite[index].color = Color.new(0,0,0,0)
  27.       end
  28.     end
  29.     end
  30.     elsif @type == 1
  31.      for index in @dash
  32.         if @sprite[index].index != self.index
  33.          @sprite[index].color = Color.new(0,0,0,100)
  34.        else
  35.         @sprite[index].color = Color.new(0,0,0,0)
  36.        end
  37.      end  
  38.    end
  39.   end
复制代码
修改之后的脚本
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新图片项目
  3.   #--------------------------------------------------------------------------
  4.   def update_item
  5.     if Mouse.get_mouse_pos != nil
  6.     $mouse_x,$mouse_y = Mouse.get_mouse_pos
  7.     end
  8.     if @type == 2
  9.     for index in @dash
  10.       if @sprite[index] != nil
  11.         @count += 1  # XXOO
  12.         top_x = @sprite[index].x - @sprite[index].bitmap.width / 2
  13.         top_y = @sprite[index].y - @sprite[index].bitmap.height / 2
  14.         bottom_x = top_x + @sprite[index].bitmap.width
  15.         bottom_y = top_y + @sprite[index].bitmap.height
  16.         if ($mouse_x > top_x) and ($mouse_y > top_y) and
  17.              ($mouse_x < bottom_x) and ($mouse_y < bottom_y)
  18.           self.index = @sprite[index].index
  19.           if @move_index != self.index
  20.             Se.ok
  21.             @move_index = self.index
  22.           end
  23.         end
  24.         if @sprite[index].index != self.index
  25.           @sprite[index].color = Color.new(0,0,0,100)
  26.           @sprite[index].zoom_x = 1
  27.           @sprite[index].zoom_y = 1
  28.         else
  29.           case @count
  30.           when 1..50
  31.             @sprite[index].zoom_x = 1.0 + @count / 90.0
  32.             @sprite[index].zoom_y = 1.0 + @count / 90.0
  33.             @sprite[index].color = Color.new(0,0,0,0)
  34.           when 51..100
  35.             @sprite[index].zoom_x = 2.0 - (@count - 10) / 90.0
  36.             @sprite[index].zoom_y = 2.0 - (@count - 10) / 90.0
  37.             @sprite[index].color = Color.new(0,0,0,100)
  38.           end
  39.         end
  40.         @count = 0 if @count == 120  # XXOO
  41.       end
  42.     end
  43.     elsif @type == 1
  44.       for index in @dash
  45.         if @sprite[index].index != self.index
  46.           @sprite[index].color = Color.new(0,0,0,100)
  47.         else
  48.           @sprite[index].color = Color.new(0,0,0,0)
  49.         end
  50.       end  
  51.     end
  52.   end
复制代码
囡囚囨囚囨図囨囧

Lv2.观梦者

梦石
0
星屑
508
在线时间
1478 小时
注册时间
2011-9-17
帖子
1316

开拓者贵宾

2
发表于 2011-11-4 23:56:08 | 只看该作者
首先把两个脚本都加进去(加到那个“图片命令……”的脚本里)
在第一个脚本后面(紧跟着end)加上
  1. alias :title_update_item :update_item
复制代码
然后在第二个脚本后面加上
  1. alias :battle_update_item :update_item
复制代码
再在后面写:
  1. def update_item
  2.     if $scene.class == Scene_Title
  3.       title_update_item
  4.     elsif $scene.class == Scene_Battle
  5.       battle_update_item
  6.     end
  7.   end
复制代码

即可

大致就是:
  1.   #--------------------------------------------------------------------------
  2.   # ● 刷新图片项目
  3.   #--------------------------------------------------------------------------
  4.   def update_item
  5.     if Mouse.get_mouse_pos != nil
  6.     $mouse_x,$mouse_y = Mouse.get_mouse_pos
  7.     end
  8.     if @type == 2
  9.     for index in @dash
  10.      if @sprite[index] != nil
  11.       top_x = @sprite[index].x
  12.       top_y = @sprite[index].y
  13.       bottom_x = top_x + @sprite[index].bitmap.width
  14.       bottom_y = top_y + @sprite[index].bitmap.height
  15.       if ($mouse_x > top_x) and ($mouse_y > top_y) and
  16.            ($mouse_x < bottom_x) and ($mouse_y < bottom_y)
  17.            self.index = @sprite[index].index
  18.            if @move_index != self.index
  19.            Se.ok
  20.            @move_index = self.index
  21.          end
  22.       end
  23.       if @sprite[index].index != self.index
  24.         @sprite[index].color = Color.new(0,0,0,100)
  25.       else
  26.         @sprite[index].color = Color.new(0,0,0,0)
  27.       end
  28.     end
  29.     end
  30.     elsif @type == 1
  31.      for index in @dash
  32.         if @sprite[index].index != self.index
  33.          @sprite[index].color = Color.new(0,0,0,100)
  34.        else
  35.         @sprite[index].color = Color.new(0,0,0,0)
  36.        end
  37.      end  
  38.    end
  39.   end

  40. alias :title_update_item :update_item

  41.   #--------------------------------------------------------------------------
  42.   # ● 刷新图片项目
  43.   #--------------------------------------------------------------------------
  44.   def update_item
  45.     if Mouse.get_mouse_pos != nil
  46.     $mouse_x,$mouse_y = Mouse.get_mouse_pos
  47.     end
  48.     if @type == 2
  49.     for index in @dash
  50.       if @sprite[index] != nil
  51.         @count += 1  # XXOO
  52.         top_x = @sprite[index].x - @sprite[index].bitmap.width / 2
  53.         top_y = @sprite[index].y - @sprite[index].bitmap.height / 2
  54.         bottom_x = top_x + @sprite[index].bitmap.width
  55.         bottom_y = top_y + @sprite[index].bitmap.height
  56.         if ($mouse_x > top_x) and ($mouse_y > top_y) and
  57.              ($mouse_x < bottom_x) and ($mouse_y < bottom_y)
  58.           self.index = @sprite[index].index
  59.           if @move_index != self.index
  60.             Se.ok
  61.             @move_index = self.index
  62.           end
  63.         end
  64.         if @sprite[index].index != self.index
  65.           @sprite[index].color = Color.new(0,0,0,100)
  66.           @sprite[index].zoom_x = 1
  67.           @sprite[index].zoom_y = 1
  68.         else
  69.           case @count
  70.           when 1..50
  71.             @sprite[index].zoom_x = 1.0 + @count / 90.0
  72.             @sprite[index].zoom_y = 1.0 + @count / 90.0
  73.             @sprite[index].color = Color.new(0,0,0,0)
  74.           when 51..100
  75.             @sprite[index].zoom_x = 2.0 - (@count - 10) / 90.0
  76.             @sprite[index].zoom_y = 2.0 - (@count - 10) / 90.0
  77.             @sprite[index].color = Color.new(0,0,0,100)
  78.           end
  79.         end
  80.         @count = 0 if @count == 120  # XXOO
  81.       end
  82.     end
  83.     elsif @type == 1
  84.       for index in @dash
  85.         if @sprite[index].index != self.index
  86.           @sprite[index].color = Color.new(0,0,0,100)
  87.         else
  88.           @sprite[index].color = Color.new(0,0,0,0)
  89.         end
  90.       end  
  91.     end
  92.   end

  93. alias :battle_update_item :update_item

  94. def update_item
  95.     if $scene.class == Scene_Title
  96.       title_update_item
  97.     elsif $scene.class == Scene_Battle
  98.       battle_update_item
  99.     end
  100.   end
复制代码
我帖子中要有是不HX的空白,请Ctrl + A
回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
3
 楼主| 发表于 2011-11-5 07:16:41 | 只看该作者
iisnow 发表于 2011-11-4 23:56
首先把两个脚本都加进去(加到那个“图片命令……”的脚本里)
在第一个脚本后面(紧跟着end)加上
然后在 ...

~~多谢!
囡囚囨囚囨図囨囧
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 17:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表