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

Project1

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

鼠标卷屏效果

 关闭 [复制链接]

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
跳转到指定楼层
1
发表于 2007-6-28 05:17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
自己的《断指守卫》需要这个效果就做了

MS以前看到有人要,也不知道有人做过没

自己做的时候才发现,原来这么简单就可以了- -||寒一下

使用的时候还需要配合一个鼠标脚本,主战上任何一个脚本似乎都可以

范例:http://rpg.blue/upload_program/files/鼠标卷屏.rar

  1. class Scene_Map
  2.   alias old update
  3.   def update
  4.     @by = 32 #感应鼠标边缘的范围
  5.     @speed = 64 #移动速度
  6.     mx,my = Mouse.get_mouse_pos
  7.     move_r if mx>640-@by
  8.     move_l if mx<@by
  9.     move_u if my<@by
  10.     move_d if my>480-@by
  11.     old
  12.   end
  13.   def move_r
  14.     $game_map.scroll_right(@speed)
  15.   end  
  16.   def move_l
  17.     $game_map.scroll_left(@speed)
  18.   end  
  19.   def move_u
  20.     $game_map.scroll_up(@speed)
  21.   end  
  22.   def move_d
  23.     $game_map.scroll_down(@speed)
  24.   end  

  25. end
复制代码

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
2
 楼主| 发表于 2007-6-28 05:17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

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

x
自己的《断指守卫》需要这个效果就做了

MS以前看到有人要,也不知道有人做过没

自己做的时候才发现,原来这么简单就可以了- -||寒一下

使用的时候还需要配合一个鼠标脚本,主战上任何一个脚本似乎都可以

范例:http://rpg.blue/upload_program/files/鼠标卷屏.rar

  1. class Scene_Map
  2.   alias old update
  3.   def update
  4.     @by = 32 #感应鼠标边缘的范围
  5.     @speed = 64 #移动速度
  6.     mx,my = Mouse.get_mouse_pos
  7.     move_r if mx>640-@by
  8.     move_l if mx<@by
  9.     move_u if my<@by
  10.     move_d if my>480-@by
  11.     old
  12.   end
  13.   def move_r
  14.     $game_map.scroll_right(@speed)
  15.   end  
  16.   def move_l
  17.     $game_map.scroll_left(@speed)
  18.   end  
  19.   def move_u
  20.     $game_map.scroll_up(@speed)
  21.   end  
  22.   def move_d
  23.     $game_map.scroll_down(@speed)
  24.   end  

  25. end
复制代码

Lv1.梦旅人

彩色的银子

梦石
0
星屑
50
在线时间
190 小时
注册时间
2006-6-13
帖子
1361

贵宾

3
发表于 2007-6-28 06:11:09 | 只看该作者
其实可以把ClipCursor这个函数给考虑进去``这样鼠标就不会离开窗口了`

  1. class String
  2.   MultiByteToWideChar = Win32API.new("kernel32", "MultiByteToWideChar", "llplpl", "l")
  3.   WideCharToMultiByte = Win32API.new("kernel32", "WideCharToMultiByte", "llplplpp", "l")
  4.   CP_ACP = 0
  5.   CP_UTF8 = 65001
  6.   #--------------------------------------------------------------------------
  7.   # ● UTF-8转JIS
  8.   #--------------------------------------------------------------------------
  9.   def to_jis
  10.    
  11.     # UTF-8 -> Unicode
  12.     len = MultiByteToWideChar.call(CP_UTF8, 0, self, -1, nil, 0);
  13.     buf = "\0" * (len*2)
  14.     MultiByteToWideChar.call(CP_UTF8, 0, self, -1, buf, buf.size/2);

  15.     # Unicode -> S-JIS
  16.     len = WideCharToMultiByte.call(CP_ACP, 0, buf, -1, nil, 0, nil, nil);
  17.     ret = "\0" * len
  18.     WideCharToMultiByte.call(CP_ACP, 0, buf, -1, ret, ret.size, nil, nil);
  19.    
  20.     return ret
  21.   end
  22. end
  23. # 窗口名字
  24. WindowClassName = "鼠标卷屏".to_jis
  25. ClipCursor = Win32API.new("user32", "ClipCursor", "p", "l")
  26. ClientToScreen = Win32API.new("user32", "ClientToScreen", "lp", "l")
  27. FindWindow = Win32API.new("user32", "FindWindow", "pp", "l")
  28. HWnd = FindWindow.call("RGSS Player",WindowClassName)
  29. xy = [0, 0].pack("l*")
  30. ClientToScreen.call(HWnd, xy)
  31. x,y = xy.unpack("l*")
  32. rect = [x, y, 640+x, 480+y].pack("l*")
  33. ClipCursor.call(rect)





  34. class Scene_Map
  35. alias old update
  36. def update
  37.    @by = 32 #感应鼠标边缘的范围
  38.    @speed = 64 #移动速度
  39.    mx,my = Mouse.get_mouse_pos
  40.    move_r if mx>640-@by
  41.    move_l if mx<@by
  42.    move_u if my<@by
  43.    move_d if my>480-@by
  44.    old
  45. end
  46. def move_r
  47.    $game_map.scroll_right(@speed)
  48. end  
  49. def move_l
  50.    $game_map.scroll_left(@speed)
  51. end  
  52. def move_u
  53.    $game_map.scroll_up(@speed)
  54. end  
  55. def move_d
  56.    $game_map.scroll_down(@speed)
  57. end  

  58. end
复制代码




另外```LZ进步的飞快啊````{/qiang}{/qiang}
-.-
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
4
 楼主| 发表于 2007-6-28 07:45:13 | 只看该作者
谢了,偶抛砖引玉了,收回去加工游戏去
不过那个ClipCursor又是API啊,完全看不懂- -||{/gg}

PS:点不到最小化和X了,不过似乎不是大问题,都可以用键盘代替
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-2-12
帖子
43
5
发表于 2007-6-28 07:46:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

本尊<

梦石
0
星屑
50
在线时间
2 小时
注册时间
2006-11-21
帖子
799

贵宾

6
发表于 2007-6-28 11:02:50 | 只看该作者
别吓我 ,我的即使战略{/se}
黑羽毛
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1680
在线时间
234 小时
注册时间
2005-10-23
帖子
106
7
发表于 2007-7-2 18:42:09 | 只看该作者
非常实用的脚本,谢谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
35
在线时间
35 小时
注册时间
2008-1-29
帖子
611
8
发表于 2008-1-31 22:00:36 | 只看该作者
{/pz}花眼了~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 22:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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