Project1

标题: 关于紫苏的后台运行。 [打印本页]

作者: eve592370698    时间: 2012-1-26 18:38
标题: 关于紫苏的后台运行。
紫苏发布了两个帖子
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就可以开启后台运行呢?
作者: yangff    时间: 2012-1-26 19:37
RGSS本来就支持后台运行,不过是在dll里面硬禁止的,为什么外挂而不修改dll不用我解释吧




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


──yangff于2012-1-26 19:37补充以上内容’
作者: 叶子    时间: 2012-2-12 09:33
本帖最后由 叶子 于 2012-2-12 09:35 编辑

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

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




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1