Project1

标题: 使用站上的防10S脚本出错 [打印本页]

作者: 阁中人    时间: 2008-8-27 22:13
标题: 使用站上的防10S脚本出错
……

提示SYSTEMSTACKERROR出错,“stack level too deep”。

@update_thread = Thread.new{loop{Graphics.update;sleep(9)}} if @update_thread.nil?
class << Graphics
alias origin_update update unless method_defined? :origin_update
def update
  Thread.critical = true  #《===这一行出错
  origin_update
  Thread.critical = false
end
end

另,没有加防10S前工程无错。
加防10S的原因是对话回顾的东西太多,游戏到中期10S内就读不完了。
作者: dbshy    时间: 2008-8-27 22:36
看线程看晕了 @_@

为什么回堆栈溢出,等待高手回答
作者: IamI    时间: 2008-8-27 22:42
如果要我用一句话概括……LZ,加在脚本的最前面,离main越远越好……
堆溢出原因据说是线程过多……
作者: dbshy    时间: 2008-8-28 04:02
帮LZ顶

顺便我想请高手讲一下这个脚本{/gg}
作者: 阁中人    时间: 2008-8-28 17:43
以下引用IamI于2008-8-27 14:42:29的发言:

如果要我用一句话概括……LZ,加在脚本的最前面,离main越远越好……
堆溢出原因据说是线程过多……

我从一开始就是加在最上面的最上面……离Main十万八千里呢- -

但它就是出错……

P。S。用了更改分辨率脚本,分辨率是800*600……
作者: 一路一风尘    时间: 2008-8-28 18:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2008-8-28 18:06
那就只有兽殿你的800*600修改分辨率=v=
说实话我自己这里运行没有任何错误。
话说……criture的时候堆溢出也太夸张了 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: 阁中人    时间: 2008-8-29 01:31
Graphics……我去试一下

明天结贴,无论成功与否感谢大家关注
作者: 阁中人    时间: 2008-8-29 02:03
Orz

原来是和支持滚轮的那个dll鼠标的代码发生冲突

冲突代码:

#==============================================================================
# ■ Graphics
#------------------------------------------------------------------------------
#  图象模块,添加鼠标支持。
#==============================================================================

class << Graphics
  
  alias origin_update update
  
  def update
    Mouse.clear_queue
    origin_update
    Mouse.update
  end
  
end

将这两个origin_update随便改个名字就OK。

结贴,dbshy的问题一路一风尘解决了。
作者: 分子轨道理论    时间: 2008-8-29 04:57
还是不太懂,现在看线程更晕{/gg}

不过还是感谢一路一风尘兄




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