Project1

标题: 防止事件过多卡机,VX版 [打印本页]

作者: 趙雲    时间: 2008-2-25 08:40
标题: 防止事件过多卡机,VX版
  1. class Game_Map
  2. #--------------------------------------------------------------------------
  3. def in_range?(object)
  4. screne_x = $game_map.display_x
  5. screne_x -= 256
  6. screne_y = $game_map.display_y
  7. screne_y -= 256
  8. screne_width = $game_map.display_x
  9. screne_width += 5632
  10. screne_height = $game_map.display_y
  11. screne_height += 4352
  12. return false if object.real_x <= screne_x
  13. return false if object.real_x >= screne_width
  14. return false if object.real_y <= screne_y
  15. return false if object.real_y >= screne_height
  16. return true
  17. end

  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新事件
  20.   #--------------------------------------------------------------------------
  21.   def update_events
  22.     for event in @events.values
  23.       next if !in_range?(event) and event.trigger != 3 and event.trigger != 4
  24.       event.update
  25.     end
  26.     for common_event in @common_events.values
  27.       common_event.update
  28.     end
  29.   end

  30. end
复制代码




今天做游戏的时候建了一张大地图,地图切换的事件有50个左右,发现FPS降到50,于是就把XP的这个脚本改了下,效果还行,如果你和我一样屏幕外非自动执行,并行处理的事件不需要刷新的话,就使用吧。
[LINE]1,#dddddd[/LINE]
2.27 忘记 VX的 real_x = x * 256 而不是XP的128了,修正
作者: 火鸡三毛老大    时间: 2008-2-25 20:04
不错...顶顶...用着先...(*^__^*) 嘻嘻……
作者: 小幽的马甲    时间: 2008-2-25 20:04
诡异猫似乎写过一个了- -




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