幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: liqunsz

[已解决] 关于【鼠标响应图片】的使用问题~

[复制链接]

10

主题

85

帖子

258

积分

③业余

脚本万年废柴

积分
258
QQ
 楼主| 发表于 2010-6-13 09:26:56 | 显示全部楼层
引用第7楼secondsen于2010-06-13 08:58发表的  :
$ShowCursor = Win32API.new("user32", "ShowCursor", 'i', 'l')
$GetCursorPos = Win32API.new("user32", "GetCursorPos", 'p', 'i')
$ScreenToClient = Win32API.new("user32", "ScreenToClient", 'ip', 'i')
$GetActiveWindow = Win32API.new("user32", "GetActiveWindow", nil, 'l')
$Window_HWND = $GetActiveWindow.call
.......

那如果改换成使用DLL的版本会有什么改善吗??
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 14:02:32 | 显示全部楼层
DLL也就调用这些API能有什么不同。。。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

85

帖子

258

积分

③业余

脚本万年废柴

积分
258
QQ
 楼主| 发表于 2010-6-13 14:34:58 | 显示全部楼层
啊呀呀,偏离主题了…………
版大没有办法解决么??
我不想做一个使用鼠标的游戏但是开始界面又要用键盘额
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 14:40:28 | 显示全部楼层
需要做测试啊。。。我晚上给你试验试验,先自己忙去吧,我午睡的时间到了啊陪GF真是累人的活。。。偏偏每次我都屁颠屁颠的跟过去
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 16:28:29 | 显示全部楼层
$mapname  你有没有注意到这个变量。。。实干什么的?这个是自己定义的的变量,非默认脚本的。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 16:37:28 | 显示全部楼层
我似乎有点明白了。。。你这个是直接复制的别人的工程中的脚本。。。所以出了问题是吧?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 16:41:30 | 显示全部楼层
下次不要再无脑复制了。。OTZ。。。我给你去掉了一些没用的东西,另外把脚本格式改得好看一点。。你用这个吧

另外:我激情测试。。这个脚本我没改之前就是好用的。。。。

这是注释   # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片

注意上面写的是 02  你是不是写成了 2 了?我测试这个脚本没有问题的。。。。可能就是你文件名少了一个0。。我第一次测试就出现了这个问题才没有转变的。。。
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. #格式:显示的cmd图片的命名格式为:
  5. #    cmd调用公共事件编号_名字
  6. #    cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片
  7. #
  8. #即,带有cmd的为可以点击的图片,点击后执行相应的公共事件.....
  9. #不带cmd的图片没任何影响。。。
  10. #==============================================================================
  11. class Game_Picture
  12.   def name=(str)
  13.     @name = str
  14.   end
  15. end
  16. class Sprite_Picture
  17.   alias update_old update
  18.   def update
  19.     update_old
  20.     begin
  21.       return if  @picture_name[/cmd/].nil? or @picture_name == ""
  22.     rescue
  23.       return
  24.     end
  25.     mx,my = Mouse.get_mouse_pos
  26.     lx = self.x - self.ox
  27.     rx = lx + self.bitmap.width
  28.     ty = self.y - self.oy
  29.     by = ty + self.bitmap.height
  30.     if mx < lx or mx > rx or my < ty or my > by or
  31.       self.bitmap.get_pixel(mx-lx,my-ty).alpha == 0
  32.       @picture.name = @picture.name.split(/_/)[0]+"_"+@picture.name.split(/_/)[1]
  33.       return
  34.     end
  35.     if @picture.name.split(/_/)[2].nil?
  36.       picname = @picture.name + "_02"
  37.       #第2张图片不存在的时候不显示
  38.       if FileTest.exist?("Graphics/Pictures/#{picname}.png")
  39.         @picture.name = picname
  40.       end
  41.     end
  42.     #对话框存在的时候不启动事件
  43.     if Mouse.trigger?(Mouse::LEFT) and !$game_system.map_interpreter.running?
  44.       @picture.name.split(/_/)[0].sub(/cmd([0-9]+)/,"")
  45.       $game_temp.common_event_id = $1.to_i
  46.     end
  47.   end
  48. end
复制代码
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

85

帖子

258

积分

③业余

脚本万年废柴

积分
258
QQ
 楼主| 发表于 2010-6-13 16:49:37 | 显示全部楼层
很感谢版大的帮助
但是【这才是主要部分】
还是没有效果啊啊啊啊!!麻烦版大这么久但……
实在是不知道为什么……
确实是从别的工程里面复制的,但是那个工程好好地,为什么我的就不行捏

画外音:刚才打不开幻森额……咋了捏




这是我的工程,鼠标运作还是正确的,但是那几个按钮都点不下去……
至于图片质量啥的就不要说啦~羞射~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-13 16:58:10 | 显示全部楼层
另外:我激情测试。。这个脚本我没改之前就是好用的。。。。

这是注释   # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片

注意上面写的是 02  你是不是写成了 2 了?我测试这个脚本没有问题的

你确定你的文件名没有错。。。而且点在了有颜色的地方么??

这样。。我把工程传上来你看看吧。。我测试真的没问题

里面有一个 name.png的图片。。。这个图片一点用都没有。。我只是做个试验而已

先跟 地图上的NPC说话。。图片就显示出来了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

85

帖子

258

积分

③业余

脚本万年废柴

积分
258
QQ
 楼主| 发表于 2010-6-13 17:05:04 | 显示全部楼层
引用第18楼secondsen于2010-06-13 16:58发表的  :
另外:我激情测试。。这个脚本我没改之前就是好用的。。。。

这是注释   # cmd调用公共事件编号_名字_02 # 此为鼠标经过的图片

注意上面写的是 02  你是不是写成了 2 了?我测试这个脚本没有问题的
.......
我的意思是鼠标经过正常……公共事件打不开……
我在第一页说过了…………
确实很激情测试…………
忽然发现已经变成了热门主题了……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-29 05:19 , Processed in 0.020989 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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