设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2006|回复: 5
打印 上一主题 下一主题

RMVX有米有防事件过多卡机的脚本?

 关闭 [复制链接]

Lv3.寻梦者

贝鲁耶的依叶森林
持镰的苍色水野

梦石
2
星屑
659
在线时间
563 小时
注册时间
2007-4-8
帖子
1304

第4届短篇游戏比赛季军短篇八RM组亚军

跳转到指定楼层
1
发表于 2008-2-18 21:55:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
貌似看到过……
不过找不到了……
水野的主页><
头像来自于游戏《龙背上的骑兵3》主角——Zero
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-26
帖子
1544
2
发表于 2008-2-20 17:12:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

3
发表于 2008-2-20 18:10:06 | 只看该作者
国外有个地图轻量化脚本
マップ軽量化
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

4
发表于 2008-2-20 19:54:59 | 只看该作者
多的是……

猫写过好几个,
国外也有。 [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-22
帖子
505
5
发表于 2008-2-20 20:45:55 | 只看该作者
转载
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ マップ軽量化 - KGC_MapLightening ◆ VX ◆
  3. #_/    ◇ Last update : 2008/01/30 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  マップの各種処理を軽量化します。
  6. #_/============================================================================
  7. #_/  再定義が多いので、できるだけ「素材」の上部に導入してください。
  8. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  9. #==============================================================================
  10. # ★ カスタマイズ項目 - Customize ★
  11. #==============================================================================

  12. module KGC
  13. module MapLightening
  14.   # ◆ マップ上のスプライトを更新する範囲の割合
  15.   #  マップ上のイベントグラフィックを描画する範囲を指定します。
  16.   #   値が小さい ==> 動作が軽い・大きなキャラがバグる
  17.   #   値が大きい ==> 動作が重い・大きなキャラもバグらない
  18.   #  普通は 70~100 程度で問題ないでしょう。
  19.   MAP_SPRITE_UPDATE_RANGE = 80
  20. end
  21. end

  22. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  23. $imported = {} if $imported == nil
  24. $imported["MapLightening"] = true

  25. #==============================================================================
  26. # ◆ Graphics
  27. #==============================================================================

  28. module Graphics
  29.   #--------------------------------------------------------------------------
  30.   # ● ゲーム画面のサイズを変更
  31.   #--------------------------------------------------------------------------
  32.   unless method_defined?(:resize_screen_KGC_MapLightening)
  33.   class << Graphics
  34.     alias resize_screen_KGC_MapLightening resize_screen
  35.   end
  36.   def self.resize_screen(width, height)
  37.     resize_screen_KGC_MapLightening(width, height)

  38.     if $game_temp != nil
  39.       $game_temp.setup_lightening_value
  40.     end
  41.   end
  42.   end
  43. end

  44. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  45. #==============================================================================
  46. # ■ Game_Temp
  47. #==============================================================================

  48. class Game_Temp
  49.   #--------------------------------------------------------------------------
  50.   # ● 公開インスタンス変数
  51.   #--------------------------------------------------------------------------
  52.   attr_accessor :valid_common_event_check # コモンイベントの有効状態判定フラグ
  53.   attr_reader   :display_center_x         # 画面中心 X 座標 (*256)
  54.   attr_reader   :display_center_y         # 画面中心 Y 座標 (*256)
  55.   attr_reader   :map_sprite_update_width  # スプライト更新を行う幅   (*256)
  56.   attr_reader   :map_sprite_update_height # スプライト更新を行う高さ (*256)
  57.   #--------------------------------------------------------------------------
  58.   # ● オブジェクト初期化
  59.   #--------------------------------------------------------------------------
  60.   alias initialize_KGC_MapLightening initialize
  61.   def initialize
  62.     initialize_KGC_MapLightening

  63.     @valid_common_event_check = true

  64.     setup_lightening_value
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ○ 軽量化用変数設定
  68.   #--------------------------------------------------------------------------
  69.   def setup_lightening_value
  70.     @display_center_x = Graphics.width / 2
  71.     @display_center_y = Graphics.height / 2
  72.     @map_sprite_update_width = Graphics.width *
  73.       KGC::MapLightening::MAP_SPRITE_UPDATE_RANGE / 100
  74.     @map_sprite_update_height = Graphics.height *
  75.       KGC::MapLightening::MAP_SPRITE_UPDATE_RANGE / 100
  76.   end
  77. end

  78. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  79. #==============================================================================
  80. # ■ Game_Switches
  81. #==============================================================================

  82. class Game_Switches
  83.   #--------------------------------------------------------------------------
  84.   # ● スイッチの設定
  85.   #     switch_id : スイッチ ID
  86.   #     value     : ON (true) / OFF (false)
  87.   #--------------------------------------------------------------------------
  88.   alias indexer_equal_KGC_MapLightening []=
  89.   def []=(switch_id, value)
  90.     indexer_equal_KGC_MapLightening(switch_id, value)

  91.     $game_temp.valid_common_event_check = true
  92.   end
  93. end

  94. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  95. #==============================================================================
  96. # ■ Game_Map
  97. #==============================================================================

  98. class Game_Map
  99.   #--------------------------------------------------------------------------
  100.   # ● セットアップ
  101.   #     map_id : マップ ID
  102.   #--------------------------------------------------------------------------
  103.   alias setup_KGC_MapLightening setup
  104.   def setup(map_id)
  105.     setup_KGC_MapLightening(map_id)

  106.     update_valid_common_event_list
  107.   end
  108.   #--------------------------------------------------------------------------
  109.   # ○ 有効なコモンイベントのリストを更新
  110.   #--------------------------------------------------------------------------
  111.   def update_valid_common_event_list
  112.     @valid_common_events = {}
  113.     # 有効なコモンイベントのリストを作成
  114.     @common_events.each { |event_id, event|
  115.       if event.trigger == 2 && $game_switches[event.switch_id]
  116.         @valid_common_events[event_id] = event
  117.       end
  118.     }
  119.     $game_temp.valid_common_event_check = false
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● イベントの更新
  123.   #--------------------------------------------------------------------------
  124.   def update_events
  125.     for event in @events.values
  126.       event.update
  127.     end
  128.     if $game_temp.valid_common_event_check
  129.       update_valid_common_event_list
  130.     end
  131.     for common_event in @valid_common_events.values
  132.       common_event.update
  133.     end
  134.   end
  135. end

  136. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  137. #==============================================================================
  138. # ■ Game_Interpreter
  139. #==============================================================================

  140. class Game_Interpreter
  141.   @@_auto_start_common_event_list = nil
  142.   #--------------------------------------------------------------------------
  143.   # ● クリア
  144.   #--------------------------------------------------------------------------
  145.   alias clear_KGC_MapLightening clear
  146.   def clear
  147.     clear_KGC_MapLightening

  148.     if @@_auto_start_common_event_list == nil
  149.       create_auto_start_common_event_list
  150.     end
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ○ 自動起動のコモンイベントのリストを作成
  154.   #--------------------------------------------------------------------------
  155.   def create_auto_start_common_event_list
  156.     @@_auto_start_common_event_list = []
  157.     $data_common_events.compact.each { |event|
  158.       # トリガーが自動実行のイベントのみ登録
  159.       @@_auto_start_common_event_list << event if event.trigger == 1
  160.     }
  161.   end
  162.   #--------------------------------------------------------------------------
  163.   # ● 起動中イベントのセットアップ
  164.   #--------------------------------------------------------------------------
  165.   def setup_starting_event
  166.     if $game_map.need_refresh             # 必要ならマップをリフレッシュ
  167.       $game_map.refresh
  168.     end
  169.     if $game_temp.common_event_id > 0     # コモンイベントの呼び出し予約?
  170.       setup($data_common_events[$game_temp.common_event_id].list)
  171.       $game_temp.common_event_id = 0
  172.       return
  173.     end
  174.     for event in $game_map.events.values  # マップイベント
  175.       if event.starting                   # 起動中のイベントが見つかった場合
  176.         event.clear_starting              # 起動中フラグをクリア
  177.         setup(event.list, event.id)       # イベントをセットアップ
  178.         return
  179.       end
  180.     end
  181.     for event in @@_auto_start_common_event_list  # 自動起動のコモンイベント
  182.       if $game_switches[event.switch_id]    # 条件スイッチが ON の場合
  183.         setup(event.list)                 # イベントをセットアップ
  184.       end
  185.     end
  186.   end
  187. end

  188. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  189. #==============================================================================
  190. # ■ Sprite_Character
  191. #==============================================================================

  192. class Sprite_Character < Sprite_Base
  193.   #--------------------------------------------------------------------------
  194.   # ○ 更新範囲内か判定
  195.   #--------------------------------------------------------------------------
  196.   def within_update_range?
  197.     sx = @character.screen_x - $game_temp.display_center_x
  198.     sy = @character.screen_y - $game_temp.display_center_y
  199.     return (sx.abs <= $game_temp.map_sprite_update_width &&
  200.       sy.abs <= $game_temp.map_sprite_update_height)
  201.   end
  202. end

  203. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  204. #==============================================================================
  205. # ■ Spriteset_Map
  206. #==============================================================================

  207. class Spriteset_Map
  208.   #--------------------------------------------------------------------------
  209.   # ● キャラクタースプライトの更新
  210.   #--------------------------------------------------------------------------
  211.   def update_characters
  212.     for sprite in @character_sprites
  213.       sprite.update if sprite.within_update_range?
  214.     end
  215.   end
  216. end

  217. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  218. #==============================================================================
  219. # ■ Scene_Map
  220. #==============================================================================

  221. class Scene_Map < Scene_Base
  222.   #--------------------------------------------------------------------------
  223.   # ● フレーム更新
  224.   #--------------------------------------------------------------------------
  225.   def update
  226.     super
  227.     $game_map.interpreter.update      # インタプリタを更新
  228.     $game_map.update                  # マップを更新
  229.     $game_player.update               # プレイヤーを更新
  230.     $game_system.update               # タイマーを更新
  231.     @spriteset.update                 # スプライトセットを更新
  232.     @message_window.update            # メッセージウィンドウを更新
  233.     unless $game_message.visible      # メッセージ表示中以外
  234.       update_transfer_player
  235.       update_encounter
  236.       update_call_menu
  237.       update_call_debug
  238.       if $game_temp.next_scene != nil  # 次のシーンがある場合のみ
  239.         update_scene_change            # シーン変更
  240.       end
  241.     end
  242.   end
  243. end
复制代码
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
9
星屑
785
在线时间
291 小时
注册时间
2007-12-15
帖子
256
6
发表于 2008-2-20 20:49:45 | 只看该作者
猫的那个不错

我自己也用了下    暂时还未发现BUG

而且很有效的增加桢数
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
残念无念
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 07:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表