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

Project1

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

[讨论] API 调用 问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
81
在线时间
54 小时
注册时间
2008-12-24
帖子
345
跳转到指定楼层
1
发表于 2009-12-30 14:50:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本人需要在 RGSS Player 中加入一个 API 控件
SetTimer  user32.dll 中的一个 安装时间控制器
设置定时器
可惜卡在最后一个参数 上 具体怎么搞请高手详细 解答
TIMERPROC lpTimerFunc // 回调函数
回调函数 应该属于一个 .new 吧 可是 既然是整数型 应该就是一个 地址
可有不像 易语言 可有用 &回调函数 算出 真是麻烦了 呵呵
如果 在RGSS 内部自己用 脚本的话 应该实现 不了 因为我需要 只要一打开 RGSS Player
后 此监视脚本一直运行到结束 为止
最后我发现 看我帖子的人越来越多 回答问题的越来越少 ~ 最后 只能~~o(>_<)o ~~ 泪奔
丧尸语录-终の千年
类型:恐怖
      爱情
      悬疑
      休闲
の名:千年の制裁の
系统--- 50%
画面---  0%
美工---  0%
地图---  0%
数据库-  0%
剧情---  50%

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
2
发表于 2009-12-30 18:20:18 | 只看该作者
本帖最后由 紫苏 于 2009-12-31 11:55 编辑

回调函数一般是 Pascal 标准调用约定函数,Ruby 层没这样的东西(除非通过其它语言的接口传递函数的地址),回调由 Method 和 Proc 模拟实现

你可以用线程来计时,或者给 SetTimer 的函数地址参数传 NULL,表示让计时器发送 WM_TIMER 消息到窗口消息队列,交给窗口过程函数处理(参考神思的 RM 窗口过程)

(其实即便是指定了一个回调函数,WM_TIMER 还是会被发送到消息队列,只不过默认的窗口过程函数会在处理 WM_TIMER 的时候会回调你指定的函数)

编辑补充:SetTimer 所产生的 WM_TIMER 消息是一个低优先的消息,在程序并不十分空闲时不一定能做到精确计时,因为 GetMessage 或 PeekMessage 在获取消息的时候会优先获取其它优先级更高的消息~ 如果用线程的话,你可以自定义线程优先级,就不用担心这样的问题了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 21:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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