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

Project1

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

[08.09.18更新]RM托盘程序V1.04(更加灵活的设置)

 关闭 [复制链接]

Lv1.梦旅人

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
帖子
6982

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

跳转到指定楼层
1
发表于 2007-7-13 21:46:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
咳咳。。。RM 托盘程序。。。= = 以前ms很多人想要这个东西``{/gg}{/gg}

不介绍了

1.04最新版下载
更新全RGSS设置,包括各种信息,处理,自定义选项等。使用说明参考注释。
  1. unless defined? RM_Tray
  2. #==========================================================================
  3. # ■ RM_Tray v1.04
  4. #--------------------------------------------------------------------------
  5. #  RM窗口托盘模块。
  6. #==========================================================================
  7. module RM_Tray

  8.   #--------------------------------------------------------------------------
  9.   # ● 定义常量
  10.   #--------------------------------------------------------------------------
  11.   NIIF_INFO       = 0x00000001  # 气球普通提示
  12.   NIIF_WARNING    = 0x00000002  # 气球警告提示
  13.   NIIF_ERROR      = 0x00000003  # 气球错误提示
  14.   
  15.   DEFAULT_TIP       = "RM Tray is Running! - -bb" # 鼠标经过托盘时的提示信息
  16.   DEFALUT_INFO      = "RM 游戏开始运行 - -bbb !" # 游戏开始的时候提示信息内容
  17.   DEFAULT_INFOTITLE = "Hi"                        # 游戏开始的时候提示信息标题
  18.   
  19.   # PS: 不提示,把信息设置为 nil 即可。
  20.   
  21.   #--------------------------------------------------------------------------
  22.   # ● API声明
  23.   #--------------------------------------------------------------------------
  24.   ADD_TRAY        = Win32API.new("RMTray","_add_tray","ppp","v")
  25.   MODIFY_TIP      = Win32API.new("RMTray","_modify_tip","p","v")
  26.   SUPPORT_BALLOON = Win32API.new("RMTray","_support_balloon","v","i")
  27.   SHOW_BALLOON    = Win32API.new("RMTray","_show_balloon","ppil","v")
  28.   REMOVE_TRAY     = Win32API.new("RMTray","_remove_tray","v","v")
  29.   API_REGISTER    = Win32API.new("RMTray","_register", "lipp", "i")
  30.   
  31.   API_RESTORE     = Win32API.new("RMTray","_restore_window","v","v")
  32.   
  33.   #--------------------------------------------------------------------------
  34.   # ● 功能函数01: 查找窗口
  35.   #--------------------------------------------------------------------------
  36.   def self.findWindow
  37.     Win32API.new("user32","FindWindow","pp","i").call("RGSS Player",readIni)
  38.   end
  39.   
  40.   #--------------------------------------------------------------------------
  41.   # ● 功能函数02:读取Ini文件
  42.   #--------------------------------------------------------------------------
  43.   def self.readIni(item = "Title")
  44.     buf = 0.chr * 256
  45.     gpps = Win32API.new("kernel32","GetPrivateProfileString","pppplp","l")
  46.     gpps.call("Game",item,"",buf,256,"./Game.ini")
  47.     buf.delete!("\0")
  48.     return buf
  49.   end
  50.   
  51.   #--------------------------------------------------------------------------
  52.   # ● 定义常量:窗口句柄
  53.   #--------------------------------------------------------------------------
  54.   HWND = findWindow
  55.   
  56.   #--------------------------------------------------------------------------
  57.   # ● 特殊方法:窗口转向后台时的提示信息
  58.   #--------------------------------------------------------------------------
  59.   def self.hide_window_info
  60.     self.show_balloon("提示", "最小化到后台运行", 10000, NIIF_INFO)
  61.   end
  62.   
  63.   #--------------------------------------------------------------------------
  64.   # ● 托盘操作方法:加载托盘
  65.   #--------------------------------------------------------------------------
  66.   def self.add_tray(tip = DEFAULT_TIP, info = DEFALUT_INFO, title = DEFAULT_INFOTITLE)
  67.     ADD_TRAY.call tip, info, title
  68.   end
  69.   
  70.   #--------------------------------------------------------------------------
  71.   # ● 托盘操作方法:修改鼠标经过的提示信息
  72.   #--------------------------------------------------------------------------
  73.   def self.modify_tip(str)
  74.     MODIFY_TIP.call(str)
  75.   end
  76.   
  77.   #--------------------------------------------------------------------------
  78.   # ● 托盘操作方法:检查是否支持气球提示
  79.   #--------------------------------------------------------------------------
  80.   def self.support_balloon?
  81.     return SUPPORT_BALLOON.call != 0
  82.   end
  83.   
  84.   #--------------------------------------------------------------------------
  85.   # ● 托盘操作方法:显示气球提示
  86.   #--------------------------------------------------------------------------
  87.   def self.show_balloon(title,str,timeout = 10000,flags = NIIF_INFO)
  88.     SHOW_BALLOON.call(title,str,timeout,flags) if support_balloon?
  89.   end
  90.   
  91.   #--------------------------------------------------------------------------
  92.   # ● 托盘操作方法:移除托盘
  93.   #--------------------------------------------------------------------------
  94.   def self.remove_tray
  95.     REMOVE_TRAY.call
  96.   end
  97.   
  98.   #--------------------------------------------------------------------------
  99.   # ● 回调方法:RM_Tray.restore
  100.   #--------------------------------------------------------------------------
  101.   def self.restore
  102.     p "restore"
  103.     API_RESTORE.call
  104.   end
  105.   
  106.   #--------------------------------------------------------------------------
  107.   # ● 回调方法:RM_Tray.about
  108.   #--------------------------------------------------------------------------
  109.   def self.about
  110.     p "about"
  111.     Win32API.new("user32", "MessageBox", "lppi", "i").call      0,
  112.       "RMTray V1.04 ! - -bb from 66RPG!",
  113.       "hi",
  114.       0x00000040
  115.   end
  116.   
  117.   #--------------------------------------------------------------------------
  118.   # ● 回调方法:RM_Tray.gotobbs
  119.   #--------------------------------------------------------------------------
  120.   def self.gotobbs
  121.     p "gotobbs"
  122.     Win32API.new("shell32", "ShellExecute", "lppppi", "l").call      0, nil, "http://rpg.blue/bbs", nil, nil, 1
  123.   end
  124.   
  125.   #--------------------------------------------------------------------------
  126.   # ● 回调方法:RM_Tray.exit
  127.   #--------------------------------------------------------------------------
  128.   def self.exit
  129.     p "exit"
  130.     Win32API.new("user32","DestroyWindow", "l", "i").call HWND
  131.   end
  132.   
  133. =begin

  134.   关于 RM_Tray.register 方法。
  135.   
  136.       该方法用于给托盘的弹出菜单注册菜单项,每一项为包含4个元素的数组,
  137.   其中第一个参数用于指定菜单项的风格;
  138.      MF_STRING    - 字符串
  139.      MF_GRAYED    - 灰色(无效)化
  140.      MF_SEPARATOR - 分割线
  141.   第二个参数用于指定一个菜单项的ID号;
  142.   第三个参数用于指定对应的字符串,如果MF_SEPARATOR的情况传递nil;
  143.   第四个参数指定一个“可执行”的字符串。
  144.   
  145. =end

  146.   #--------------------------------------------------------------------------
  147.   # ● 设置菜单项状态用API:MF_ENABLED、MF_DISABLED、MF_GRAYED 三个状态
  148.   #--------------------------------------------------------------------------
  149.   API_SETITEMSTATE  = Win32API.new("RMTray", "_set_item_state", "ii", "v")

  150.   MF_ENABLED    = 0x00000000
  151.   MF_DISABLED   = 0x00000002
  152.   
  153.   MF_GRAYED     = 0x00000001
  154.   
  155.   MF_STRING     = 0x00000000
  156.   MF_SEPARATOR  = 0x00000800
  157.   
  158.   def self.register
  159.     [
  160.     [MF_STRING | MF_GRAYED, 0, "还原(&R)", "RM_Tray.restore"],
  161.     [MF_STRING,             1, "关于(&A)", "RM_Tray.about"],
  162.     [MF_SEPARATOR,          2, nil,         nil],
  163.     [MF_STRING,             3, "前往论坛", "RM_Tray.gotobbs"],
  164.     [MF_SEPARATOR,          4, nil,         nil],
  165.     [MF_STRING,             5, "退出(&C)", "RM_Tray.exit"]
  166.     ].each do |arr|
  167.       API_REGISTER.call *arr
  168.     end
  169.   end
  170.   
  171.   #--------------------------------------------------------------------------
  172.   # ● 简单启动句柄
  173.   #--------------------------------------------------------------------------
  174.   def self.start
  175.     self.register
  176.     self.add_tray
  177.   end

  178. end

  179.   RM_Tray.start  
  180.   
  181. end




复制代码


1.03版下载
更新了一些气球提示什么的,可以在RM事件里直接操作提示信息。具体的看工程好了,咳= =

点击下载范例工程

以下为几张效果图= =bb








ps:这只素一个初版,至于以后更不更新就不知道呢。。。咳 闪人。。= =bb
神隐中,偶尔诈尸

Lv1.梦旅人

逃兵

50
发表于 2008-9-20 02:45:18 | 只看该作者

这个东西差不多做完了?

以下引用越前リョーマ于2008-9-19 18:38:55的发言:

又更新了……
只可惜一般游戏用不到……

的确,但有些用得到
其实我当初鼓动夏娜做这个的原因就是玩CG Offline的时候采集速度太慢,想把它弄成后台,然后玩别的,可自己不会弄……{/gg}
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3294
在线时间
3618 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

49
发表于 2008-9-20 02:38:55 | 只看该作者
又更新了……
只可惜一般游戏用不到……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-8-10
帖子
243
48
发表于 2008-9-19 22:53:43 | 只看该作者
太好了!来支持一下!{/cy}{/cy}{/cy}
哎!要完成这个游戏肯定要使用很多脚本和素材!我想把小樱的动画变成游戏!我相信这并不是不可能的事!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
帖子
6982

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

47
 楼主| 发表于 2008-9-18 08:38:29 | 只看该作者
v1.04更新了~~{/gg}
神隐中,偶尔诈尸
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
46
发表于 2008-9-18 03:19:04 | 只看该作者
不错的啊 我的游戏正需要
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-8-10
帖子
243
45
发表于 2008-9-15 19:52:47 | 只看该作者
{/pz}每天都在这里晃过!希望LZ加快解决
哎!要完成这个游戏肯定要使用很多脚本和素材!我想把小樱的动画变成游戏!我相信这并不是不可能的事!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2172
在线时间
416 小时
注册时间
2008-7-29
帖子
120
44
发表于 2008-9-10 18:58:05 | 只看该作者
{/cy}{/cy}不错
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-8-10
帖子
243
43
发表于 2008-9-10 01:41:48 | 只看该作者
以下引用灼眼的夏娜于2008-9-8 11:46:00的发言:

呃= = 其实ms这个东西也是没完善的东西,完善后可以直接提供在RGSS里进行修改控制的= =

那要到什么时候才能够实现这些功能呢!其实本热很支持lz的制作的!希望lz能够成功发扬此技术的!
哎!要完成这个游戏肯定要使用很多脚本和素材!我想把小樱的动画变成游戏!我相信这并不是不可能的事!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
42
发表于 2009-6-12 08:00:00 | 只看该作者
呃= = 其实ms这个东西也是没完善的东西,完善后可以直接提供在RGSS里进行修改控制的= =
RMXP&RMVX通用Web化完成- -|||
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-9 18:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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