Project1

标题: 怎样才能将一张大地图分割成无数小地图。。 [打印本页]

作者: 星尘泪    时间: 2013-1-29 09:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 殇殃    时间: 2013-1-29 12:44
复制多个地图副本,然后再每个副本里裁剪地图大小。
作者: acn00269    时间: 2013-1-29 12:45
右键是一大利器
作者: 紫英晓狼1130    时间: 2013-1-29 13:00
本帖最后由 紫英晓狼1130 于 2013-1-29 13:03 编辑

星尘泪您可以把地图选中(就是一个小框框)复制到一个新地图里。
作者: Sion    时间: 2013-1-29 17:19
本帖最后由 Sion 于 2013-1-29 17:28 编辑

这个脚本可以防止事件过多造成lag。
坏处就是:导致屏幕外满足条件本该启动的事件不会启动。
如果想关闭这个脚本,就在事件中执行脚本:
  1. $game_system.anti_lag = false
复制代码
开启的话把false替换为true。
卡也有可能是并行事件中操作公共变量导致的,不一定是因为事件过多。
RUBY 代码复制
  1. #==============================================================================
  2. # +++ MOG - Simple Anti Lag (V1.0) +++
  3. #==============================================================================
  4. # By Moghunter
  5. # [url]http://www.atelier-rgss.com[/url]
  6. #==============================================================================
  7. # Sistema de antilag.
  8. #==============================================================================
  9. # Para desativar ou ativar o sistema de antilag use o comando abaixo
  10. #
  11. # $game_system.anti_lag = true
  12. #
  13. #==============================================================================
  14. # NOTA - Este script não funciona em mapas com efeito LOOP.
  15. #
  16. #==============================================================================
  17. module MOG_ANTI_LAG
  18.   #Area que será atualizada fora da tela.
  19.   UPDATE_OUT_SCREEN_RANGE = 3
  20. end
  21.  
  22. #==============================================================================
  23. # ■ Game_System
  24. #==============================================================================
  25. class Game_System
  26.   attr_accessor :anti_lag
  27.  
  28. #--------------------------------------------------------------------------
  29. # ● Initialize
  30. #--------------------------------------------------------------------------   
  31.   alias mog_antilag_initialize initialize
  32.   def initialize
  33.       @anti_lag = true
  34.       mog_antilag_initialize
  35.   end  
  36. end
  37.  
  38. #==============================================================================
  39. # ■ Game_Character
  40. #==============================================================================
  41. class Game_Event < Game_Character
  42.  
  43.   attr_accessor :can_update            
  44.  
  45.   #--------------------------------------------------------------------------
  46.   # ● Initialize
  47.   #--------------------------------------------------------------------------
  48.   alias mog_anti_lag_initialize initialize
  49.   def initialize(map_id, event)
  50.       mog_anti_lag_initialize(map_id, event)
  51.       @can_update = true
  52.       @anti_lag = true
  53.       if $game_map.loop_horizontal? or $game_map.loop_vertical?
  54.          @anti_lag = false
  55.       end
  56.   end
  57.  
  58. #--------------------------------------------------------------------------
  59. # ● Check Event on Screen
  60. #--------------------------------------------------------------------------
  61. def update_anti_lag
  62.      unless $game_system.anti_lag
  63.          @can_update = true
  64.          return
  65.      end  
  66.      anti_lag_event_on_screen
  67. end
  68.  
  69. #--------------------------------------------------------------------------
  70. # ● Event On Screen
  71. #--------------------------------------------------------------------------
  72. def anti_lag_event_on_screen
  73.      @can_update = false
  74.      out_screen = MOG_ANTI_LAG::UPDATE_OUT_SCREEN_RANGE
  75.      px = ($game_map.display_x).truncate
  76.      py = ($game_map.display_y).truncate
  77.      distance_x = @x - px
  78.      distance_y = @y - py
  79.      if distance_x.between?(0 - out_screen, 16 + out_screen) and
  80.         distance_y.between?(0 - out_screen, 12 + out_screen)
  81.         @can_update = true
  82.      end
  83. end
  84.  
  85. #--------------------------------------------------------------------------
  86. # ● Update
  87. #--------------------------------------------------------------------------     
  88.   alias mog_anti_lag_update update
  89.   def update
  90.       update_anti_lag unless !@anti_lag
  91.       return if !@can_update
  92.       mog_anti_lag_update
  93.   end
  94. end
  95.  
  96. #==============================================================================
  97. # ■ Sprite Character
  98. #==============================================================================
  99. class Sprite_Character < Sprite_Base
  100.  
  101. #--------------------------------------------------------------------------
  102. # ● Check Can Update Sprite
  103. #--------------------------------------------------------------------------      
  104.   def check_can_update_sprite
  105.       if self.visible and !@character.can_update
  106.          reset_sprite_effects
  107.       end        
  108.       self.visible = @character.can_update           
  109.   end
  110.  
  111. #--------------------------------------------------------------------------
  112. # ● Reset Sprite Effects
  113. #--------------------------------------------------------------------------         
  114.   def reset_sprite_effects
  115.       dispose_animation
  116.   end
  117.  
  118. #--------------------------------------------------------------------------
  119. # ● Update
  120. #--------------------------------------------------------------------------           
  121.   alias mog_anti_lag_update update
  122.   def update
  123.       if $game_system.anti_lag and @character.is_a?(Game_Event)
  124.          check_can_update_sprite
  125.          return unless self.visible
  126.       end   
  127.       mog_anti_lag_update
  128.   end
  129.  
  130. end
  131.  
  132. $mog_rgss3_anti_lag = true





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