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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 孤独的枪手
打印 上一主题 下一主题

随便问两个问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-11
帖子
152
11
发表于 2008-5-2 12:57:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

巴斯克维尔的猎犬

梦石
0
星屑
50
在线时间
66 小时
注册时间
2007-6-25
帖子
8320

第1届Title华丽大赛冠军

12
发表于 2008-5-2 13:05:59 | 只看该作者
以下引用那路或多于2008-5-2 4:57:08的发言:

喂喂,咱就打算用别人给我画的地图 其实用了实时包裹的地图怎么都不新鲜了

我指的是地图大赛的作品……
如果你雇你私下帮你画地图,那么别人也不知道是吧。
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
289
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

13
发表于 2008-5-2 15:28:55 | 只看该作者
地图轻量化脚本:


  1. #==============================================================================
  2. # ★ カスタマイズ項目 - Customize ★
  3. #==============================================================================

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

  14. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  15. $imported = {} if $imported == nil
  16. $imported["MapLightening"] = true

  17. #==============================================================================
  18. # ◆ Graphics
  19. #==============================================================================

  20. module Graphics
  21.   #--------------------------------------------------------------------------
  22.   # ● ゲーム画面のサイズを変更
  23.   #--------------------------------------------------------------------------
  24.   unless method_defined?(:resize_screen_KGC_MapLightening)
  25.   class << Graphics
  26.     alias resize_screen_KGC_MapLightening resize_screen
  27.   end
  28.   def self.resize_screen(width, height)
  29.     resize_screen_KGC_MapLightening(width, height)

  30.     if $game_temp != nil
  31.       $game_temp.setup_lightening_value
  32.     end
  33.   end
  34.   end
  35. end

  36. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  37. #==============================================================================
  38. # ■ Game_Temp
  39. #==============================================================================

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

  55.     @valid_common_event_check = true

  56.     setup_lightening_value
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ○ 軽量化用変数設定
  60.   #--------------------------------------------------------------------------
  61.   def setup_lightening_value
  62.     @display_center_x = Graphics.width / 2
  63.     @display_center_y = Graphics.height / 2
  64.     @map_sprite_update_width = Graphics.width *
  65.       KGC::MapLightening::MAP_SPRITE_UPDATE_RANGE / 100
  66.     @map_sprite_update_height = Graphics.height *
  67.       KGC::MapLightening::MAP_SPRITE_UPDATE_RANGE / 100
  68.   end
  69. end

  70. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  71. #==============================================================================
  72. # ■ Game_Switches
  73. #==============================================================================

  74. class Game_Switches
  75.   #--------------------------------------------------------------------------
  76.   # ● スイッチの設定
  77.   #     switch_id : スイッチ ID
  78.   #     value     : ON (true) / OFF (false)
  79.   #--------------------------------------------------------------------------
  80.   alias indexer_equal_KGC_MapLightening []=
  81.   def []=(switch_id, value)
  82.     indexer_equal_KGC_MapLightening(switch_id, value)

  83.     $game_temp.valid_common_event_check = true
  84.   end
  85. end

  86. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  87. #==============================================================================
  88. # ■ Game_Map
  89. #==============================================================================

  90. class Game_Map
  91.   #--------------------------------------------------------------------------
  92.   # ● セットアップ
  93.   #     map_id : マップ ID
  94.   #--------------------------------------------------------------------------
  95.   alias setup_KGC_MapLightening setup
  96.   def setup(map_id)
  97.     setup_KGC_MapLightening(map_id)

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

  128. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  129. #==============================================================================
  130. # ■ Game_Interpreter
  131. #==============================================================================

  132. class Game_Interpreter
  133.   @@_auto_start_common_event_list = nil
  134.   #--------------------------------------------------------------------------
  135.   # ● クリア
  136.   #--------------------------------------------------------------------------
  137.   alias clear_KGC_MapLightening clear
  138.   def clear
  139.     clear_KGC_MapLightening

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

  180. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  181. #==============================================================================
  182. # ■ Sprite_Character
  183. #==============================================================================

  184. class Sprite_Character < Sprite_Base
  185.   #--------------------------------------------------------------------------
  186.   # ○ 更新範囲内か判定
  187.   #--------------------------------------------------------------------------
  188.   def within_update_range?
  189.     sx = @character.screen_x - $game_temp.display_center_x
  190.     sy = @character.screen_y - $game_temp.display_center_y
  191.     return (sx.abs <= $game_temp.map_sprite_update_width &&
  192.       sy.abs <= $game_temp.map_sprite_update_height)
  193.   end
  194. end

  195. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  196. #==============================================================================
  197. # ■ Spriteset_Map
  198. #==============================================================================

  199. class Spriteset_Map
  200.   #--------------------------------------------------------------------------
  201.   # ● キャラクタースプライトの更新
  202.   #--------------------------------------------------------------------------
  203.   def update_characters
  204.     for sprite in @character_sprites
  205.       sprite.update if sprite.within_update_range?
  206.     end
  207.   end
  208. end

  209. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  210. #==============================================================================
  211. # ■ Scene_Map
  212. #==============================================================================

  213. class Scene_Map < Scene_Base
  214.   #--------------------------------------------------------------------------
  215.   # ● フレーム更新
  216.   #--------------------------------------------------------------------------
  217.   def update
  218.     super
  219.     $game_map.interpreter.update      # インタプリタを更新
  220.     $game_map.update                  # マップを更新
  221.     $game_player.update               # プレイヤーを更新
  222.     $game_system.update               # タイマーを更新
  223.     @spriteset.update                 # スプライトセットを更新
  224.     @message_window.update            # メッセージウィンドウを更新
  225.     unless $game_message.visible      # メッセージ表示中以外
  226.       update_transfer_player
  227.       update_encounter
  228.       update_call_menu
  229.       update_call_debug
  230.       if $game_temp.next_scene != nil  # 次のシーンがある場合のみ
  231.         update_scene_change            # シーン変更
  232.       end
  233.     end
  234.   end
  235. end

复制代码

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 08:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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