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

Project1

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

[讨论] 关于紫苏的后台运行。

[复制链接]

Lv2.观梦者

梦石
0
星屑
432
在线时间
4175 小时
注册时间
2010-6-26
帖子
6474
跳转到指定楼层
1
发表于 2012-1-26 18:38:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
紫苏发布了两个帖子
XP的http://rpg.blue/forum.php?mod=vi ... 0%E8%BF%90%E8%A1%8C
VX的http://rpg.blue/forum.php?mod=vi ... 0%E8%BF%90%E8%A1%8C
公开一下本人在ACE上的测试代码吧:
  1. unless $_Start


  2. $_Start = Win32API.new("System/BackgroundRunning","Start",'V','L')
  3. $_Stop = Win32API.new("System/BackgroundRunning","Stop",'V','L')
  4. $_OnFocus = Win32API.new("System/BackgroundRunning","OnFocus",'V','L')

  5. $_Start.call

  6. module Input
  7.   InputUpdate = method :update
  8.   InputTrigger = method :trigger?
  9.   InputPress = method :press?
  10.   InputRepeat = method :repeat?
  11.   InputDir4 = method :dir4
  12.   InputDir8 = method :dir8
  13.   def self.update
  14.     InputUpdate.call if $_OnFocus.call != 0
  15.   end
  16.   def self.trigger?(num)
  17.     return $_OnFocus.call != 0 ? InputTrigger.call(num) : false
  18.   end
  19.   def self.press?(num)
  20.     return $_OnFocus.call != 0 ? InputPress.call(num) : false
  21.   end
  22.   def self.repeat?(num)
  23.     return $_OnFocus.call != 0 ? InputRepeat.call(num) : false
  24.   end
  25.   def self.dir4
  26.     return $_OnFocus.call != 0 ? InputDir4.call : 0   
  27.   end
  28.   def self.dir8
  29.     return $_OnFocus.call != 0 ? InputDir8.call : 0   
  30.   end
  31. end


  32. end
复制代码
其实我是把VX的那个BackgroundRunning.dll拷贝到VA的那个System文件夹下,发现完全兼容。

如果这么简单的话,我直接通知紫苏去掉一个帖子,把另一个帖子改成通用技术发布就可以了,但是我想,

rgss3可以在后台显示主控台了,当游戏中有Print命令时,后台的主控台就直接显示了,所以我想问问高手是不是rgss3本身就整合了后台运行功能呢?是不是可以通过别的方法不需要那个dll就可以开启后台运行呢?
潜水,专心忙活三次元工作了……

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

2
发表于 2012-1-26 19:37:03 | 只看该作者
RGSS本来就支持后台运行,不过是在dll里面硬禁止的,为什么外挂而不修改dll不用我解释吧




RGSS本来就支持后台运行,不过是在dll里面硬禁止的,为什么外挂而不修改dll不用我解释吧


──yangff于2012-1-26 19:37补充以上内容’

点评

不过那个脚本不是很稳定o><o  发表于 2012-1-26 19:52
eb不允许,再说了分辨率扩展也要改dll,两个dll还要整合,很麻烦。其实@晴兰的一个脚本可以做到和@紫苏的dll同样功能,一个dll也不用改(挂)。。  发表于 2012-1-26 19:50
真需要您解释,毕竟我不是计算机专业。  发表于 2012-1-26 19:41
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
3
发表于 2012-2-12 09:33:38 | 只看该作者
本帖最后由 叶子 于 2012-2-12 09:35 编辑

后面控制台显示东西不等于主窗口在后台运行..例如在Scene_Base#update中加句 p Graphics.frame_count ,运行的时候把焦点转到控制台窗口,p() 就会停止

不过目测来说,gets() 会让失去焦点的主窗口继续运行一帧,大概是为了方便执行gets接下来的东西吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-1 09:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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