Project1

标题: 分辨率与烛光系统,远景图停止工作的问题 [打印本页]

作者: Mullice_    时间: 2017-12-15 20:31
标题: 分辨率与烛光系统,远景图停止工作的问题
本帖最后由 Mullice_ 于 2017-12-15 20:31 编辑

工程是大分辨率+VA烛光
地图一用上远景就弹出停止工作。。。非常恼火。。。
已经查出是烛光脚本和分辨率的问题,理论上雾图形并行事件不会出现停止工作,
但是远景图一用就停止工作了 。。。

一开始 试着用并行处理远景图,小副远景可以用,
但是换成大的又卡成狗。。。
哭出来 不知道还有没有救。。。

890X567.rar

1016.21 KB, 下载次数: 104


作者: 梦幻想    时间: 2017-12-16 02:06
本帖最后由 梦幻想 于 2017-12-16 02:25 编辑

对DLL不是很了解……貌似关了是否使用大型点阵图那个开关就行了,但是不知道是不是对你要用的功能有影响
作者: fux2    时间: 2017-12-16 11:37
1.把你分辨率脚本里面的class Plane部分全部删除
2.把module GAME_WINDOW替换成以下内容

  1. module GAME_WINDOW
  2.   INT_WIDTH = 890             # 窗口宽度
  3.   INT_HEIGHT = 567             # 窗口高度
  4.   RtlMoveMemoryLP = Win32API.new('kernel32','RtlMoveMemory','lpl','l')
  5.   GetModuleHandle = Win32API.new('kernel32','GetModuleHandle','p','l')
  6.   
  7.   def self.init_plane
  8.     module_handle = GetModuleHandle.call("RGSS102J.dll")
  9.     raise 'wrong dll file' if module_handle==0
  10.     addr_width = module_handle+0x14ae8
  11.     addr_height = module_handle+0x14ada
  12.    
  13.     buf = "\0"*4
  14.     buf = [INT_WIDTH].pack("l")
  15.     RtlMoveMemoryLP.call(addr_width,buf,4)
  16.     buf = [INT_HEIGHT].pack("l")
  17.     RtlMoveMemoryLP.call(addr_height,buf,4)
  18.   end
  19.   
  20.   init_plane
  21. end
复制代码


注意,仅对你工程里使用的RGSS102J有效
作者: Mullice_    时间: 2017-12-16 12:45
fux2 发表于 2017-12-16 11:37
1.把你分辨率脚本里面的class Plane部分全部删除
2.把module GAME_WINDOW替换成以下内容

收到!谢谢黄鸡!




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