查看: 5616|回复: 4

[已经过期] 怎样才能将一张大地图分割成无数小地图。。

[复制链接]
星尘泪 该用户已被删除
发表于 2013-1-29 09:14:01 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
梦石
0
星屑
50
在线时间
69 小时
注册时间
2012-3-3
回帖
79
发表于 2013-1-29 12:44:09 | 显示全部楼层
复制多个地图副本,然后再每个副本里裁剪地图大小。

点评

你都不明白我是什么意思。在ACE主界面左下角的地图列表里,右键可以复制地图。然后在新的地图副本里更改地图大小不就搞定了?  发表于 2013-1-30 13:10
= =不是PS。。  发表于 2013-1-29 18:00
内事不决问@度娘,外事不决问@谷哥。
有此二人辅佐,何愁天下不定乎!
回复

使用道具 举报

死亡颂唱者

梦石
0
星屑
1159
在线时间
1795 小时
注册时间
2011-10-21
回帖
2205

开拓者

发表于 2013-1-29 12:45:59 | 显示全部楼层
右键是一大利器

点评

那叫剪切不叫分割。。  发表于 2013-1-29 18:00
这家伙很懒,什么也没有留下
回复

使用道具 举报

梦石
0
星屑
3905
在线时间
1972 小时
注册时间
2013-1-3
回帖
9146
发表于 2013-1-29 13:00:12 | 显示全部楼层
本帖最后由 紫英晓狼1130 于 2013-1-29 13:03 编辑

星尘泪您可以把地图选中(就是一个小框框)复制到一个新地图里。

点评

= =很麻烦的吧。。而且请注意,这是VA。。没有XP那种方便的裁剪地图工具  发表于 2013-1-29 17:55
话说我不会操作复制地图呢,右键左键都不知道怎么弄  发表于 2013-1-29 17:40
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复

使用道具 举报

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-1-29 17:19:33 | 显示全部楼层
本帖最后由 Sion 于 2013-1-29 17:28 编辑

这个脚本可以防止事件过多造成lag。
坏处就是:导致屏幕外满足条件本该启动的事件不会启动。
如果想关闭这个脚本,就在事件中执行脚本:
  1. $game_system.anti_lag = false
复制代码
开启的话把false替换为true。
卡也有可能是并行事件中操作公共变量导致的,不一定是因为事件过多。
[pre lang="ruby" line="1"]#==============================================================================
# +++ MOG - Simple Anti Lag (V1.0) +++
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com
#==============================================================================
# Sistema de antilag.
#==============================================================================
# Para desativar ou ativar o sistema de antilag use o comando abaixo
#
# $game_system.anti_lag = true
#
#==============================================================================
# NOTA - Este script não funciona em mapas com efeito LOOP.
#
#==============================================================================
module MOG_ANTI_LAG
  #Area que será atualizada fora da tela.
  UPDATE_OUT_SCREEN_RANGE = 3
end

#==============================================================================
# ■ Game_System
#==============================================================================
class Game_System
  attr_accessor :anti_lag
  
#--------------------------------------------------------------------------
# ● Initialize
#--------------------------------------------------------------------------   
  alias mog_antilag_initialize initialize
  def initialize
      @anti_lag = true
      mog_antilag_initialize
  end  
end

#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Event < Game_Character
  
  attr_accessor :can_update            

  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  alias mog_anti_lag_initialize initialize
  def initialize(map_id, event)
      mog_anti_lag_initialize(map_id, event)
      @can_update = true
      @anti_lag = true
      if $game_map.loop_horizontal? or $game_map.loop_vertical?
         @anti_lag = false
      end
  end
   
#--------------------------------------------------------------------------
# ● Check Event on Screen
#--------------------------------------------------------------------------
def update_anti_lag
     unless $game_system.anti_lag
         @can_update = true
         return
     end  
     anti_lag_event_on_screen
end
   
#--------------------------------------------------------------------------
# ● Event On Screen
#--------------------------------------------------------------------------
def anti_lag_event_on_screen
     @can_update = false
     out_screen = MOG_ANTI_LAG::UPDATE_OUT_SCREEN_RANGE
     px = ($game_map.display_x).truncate
     py = ($game_map.display_y).truncate
     distance_x = @x - px
     distance_y = @y - py
     if distance_x.between?(0 - out_screen, 16 + out_screen) and
        distance_y.between?(0 - out_screen, 12 + out_screen)
        @can_update = true
     end
end
  
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------     
  alias mog_anti_lag_update update
  def update
      update_anti_lag unless !@anti_lag
      return if !@can_update
      mog_anti_lag_update
  end
end

#==============================================================================
# ■ Sprite Character
#==============================================================================
class Sprite_Character < Sprite_Base

#--------------------------------------------------------------------------
# ● Check Can Update Sprite
#--------------------------------------------------------------------------      
  def check_can_update_sprite
      if self.visible and !@character.can_update
         reset_sprite_effects
      end        
      self.visible = @character.can_update           
  end
  
#--------------------------------------------------------------------------
# ● Reset Sprite Effects
#--------------------------------------------------------------------------         
  def reset_sprite_effects
      dispose_animation
  end
  
#--------------------------------------------------------------------------
# ● Update
#--------------------------------------------------------------------------           
  alias mog_anti_lag_update update
  def update
      if $game_system.anti_lag and @character.is_a?(Game_Event)
         check_can_update_sprite
         return unless self.visible
      end   
      mog_anti_lag_update
  end
  
end

$mog_rgss3_anti_lag = true[/pre]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部