楼主: 眼中目之瞳

[已经过期] 想改良一下这个“鼠标响应图片”的脚本……

[复制链接]
梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
回帖
522
发表于 2016-2-20 21:57:32 | 显示全部楼层
本帖最后由 传说中di 于 2016-2-20 23:07 编辑
眼中目之瞳 发表于 2016-2-20 21:46
两个脚本不能同时响应,而且即使单用这一个脚本(“鼠标本体”的脚本不动),会报错。
...





[pre lang="ruby"]
class Game_Picture
def name=(str)
   @name = str
end
end
class Sprite_Picture
alias update_old update
def update
   update_old
   return if @picture.name == "" or @picture.name[/cmd/].nil?
   mx,my = Mouse.get_mouse_pos
   lx = self.x - self.ox
   rx = lx + self.bitmap.width
   ty = self.y - self.oy
   by = ty + self.bitmap.height
   if mx < lx or mx > rx or my < ty or my > by or
     self.bitmap.get_pixel(mx-lx,my-ty).alpha == 0
    @picture.name = @picture.name.split(/_/)[0]
    return
   end
      if Mouse.trigger?(Mouse::LEFT) && @picture.name.split(/_/)[0] != nil
       @picture.name.split(/_/)[0].sub(/cmd([0-9]+)/,"")
       $game_temp.reserve_common_event($1.to_i)
     end
    end
  end[/pre]可以了
附上两种例子。不行下载例子看就懂了
原版.rar (1.44 MB, 下载次数: 32)
版本2.rar (1.45 MB, 下载次数: 51)
回复

使用道具 举报

梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
回帖
184
 楼主| 发表于 2016-2-21 13:41:27 | 显示全部楼层
传说中di 发表于 2016-2-20 21:57
class Game_Picture
def name=(str)
   @name = str

那有办法让两种响应方式并存吗?
回复

使用道具 举报

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
回帖
522
发表于 2016-2-21 19:08:22 | 显示全部楼层
眼中目之瞳 发表于 2016-2-21 13:41
那有办法让两种响应方式并存吗?

这两个响应效果本来就一样,共存有什么意思吗。
回复

使用道具 举报

梦石
0
星屑
325
在线时间
252 小时
注册时间
2014-4-11
回帖
184
 楼主| 发表于 2016-2-22 21:43:50 | 显示全部楼层
传说中di 发表于 2016-2-21 19:08
这两个响应效果本来就一样,共存有什么意思吗。

效果上还是有些差别的,如果有100个按钮,前者我需要准备200张图片,修改后就只需要100张了——不过部分场景的按钮还是想要突出显示效果的,所以才希望能共存
回复

使用道具 举报

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
回帖
522
发表于 2016-2-23 00:11:28 | 显示全部楼层
眼中目之瞳 发表于 2016-2-22 21:43
效果上还是有些差别的,如果有100个按钮,前者我需要准备200张图片,修改后就只需要100张了——不过部分 ...

那你用版本2的就可以了,把响应换回没改过的。要显示突出效果就用响应,不用显示突出的用鼠标响应,使用方法看脚本来。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部