Project1

标题: 同時使用多人戰鬥跟隊列移動時.出現怪異現象 [打印本页]

作者: mislay    时间: 2008-7-9 05:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 火鸡三毛老大    时间: 2008-7-9 07:10
测试游戏时
按F2看看..
运行的程序不要太多了...
另外...
人物跟随好像和队列变换有冲突...
作者: 游戏高手    时间: 2008-7-9 07:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: mislay    时间: 2008-7-9 07:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: 火鸡三毛老大    时间: 2008-7-9 16:57
以下引用mislay于2008-7-8 23:46:50的发言:

唔....請問按了f2有什麼特殊功用嗎?
只看到視窗的標題字後面有數字跟FPS的字樣在跑
(數字頭一次出現約是12~4.之後在地圖上走時約是7.6~4)

运行的程序不要太多意思又是...?

因為同時放兩個腳本時並沒有出現衝突視窗
(雖然沒出現不代表沒衝突(?)
我在選單調換隊友時.畫面上角色也確實會更換位置

怎麼會出現這樣的狀況.真的無法理解呢@@...
不知是否能更詳盡的解惑呢?讓兩者能更好的兼容?@@

建议不要放太多事件...
可以用多张小一点的地图...
合成一个村子..
这样就不会很耗费FPS
作者: mislay    时间: 2008-7-9 21:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: westbugs    时间: 2008-7-11 08:10
不错的脚本, 应该可以帮到. (BY 诡异の猫)

  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #============================================================================
  5. # ■ VX_事件图形刷新简化    —— By 诡异の猫
  6. #============================================================================
  7. #    脚本内容: 只刷新视野内的事件图形,改善大地图事件过多卡机情况.
  8. #============================================================================
  9. class Sprite_Character < Sprite_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 判定图形是否再视野内
  12.   #--------------------------------------------------------------------------
  13.   def in_view?
  14.     add_x = (self.width-32)*4 + 256
  15.     add_y = self.height*8
  16.     begin_x = $game_map.display_x - add_x
  17.     begin_y = $game_map.display_y - add_y
  18.     end_x = $game_map.display_x + 4352 + add_x
  19.     end_y = $game_map.display_y + 3328 + add_y
  20.     limit_x = $game_map.width * 256 - 256 + add_x
  21.     limit_y = $game_map.height * 256 - 256 + add_y
  22.     char_x = @character.real_x
  23.     char_y = @character.real_y
  24.     if end_x <= limit_x
  25.       return false if char_x < begin_x or char_x > end_x
  26.     end
  27.     if end_y <= limit_y
  28.       return false if char_y < begin_y or char_y > end_y
  29.     end
  30.     if end_x > limit_x and end_y > limit_y
  31.       return false if char_x < begin_x and char_x > end_x - limit_x
  32.       return false if char_y < begin_y and char_y > end_y - limit_y
  33.     end
  34.     return true
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 更新画面
  38.   #--------------------------------------------------------------------------
  39.   def update
  40.     super
  41.     if in_view?
  42.       update_bitmap
  43.       self.visible = (not @character.transparent)
  44.       update_src_rect
  45.       self.x = @character.screen_x
  46.       self.y = @character.screen_y
  47.       self.z = @character.screen_z
  48.       self.opacity = @character.opacity
  49.       self.blend_type = @character.blend_type
  50.       self.bush_depth = @character.bush_depth
  51.     end
  52.     update_balloon
  53.     if @character.animation_id != 0
  54.       animation = $data_animations[@character.animation_id]
  55.       start_animation(animation)
  56.       @character.animation_id = 0
  57.     end
  58.     if @character.balloon_id != 0
  59.       @balloon_id = @character.balloon_id
  60.       start_balloon
  61.       @character.balloon_id = 0
  62.     end
  63.   end
  64. end
  65. #==============================================================================



  66. #==============================================================================
  67. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  68. #==============================================================================


复制代码

作者: mislay    时间: 2008-7-11 08:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 浪使者    时间: 2008-7-11 14:31
这个问题早已经在我的作品《流浪猎人》中解决好了。。
两个脚本是有冲突的,你可以下载看看我游戏中的说明文件,已经修复了这个BUG。
原因在于 多人戰鬥 脚本中 定义  MAX_MEMBERS 数量庞大 导致 跟隊列移動 脚本总是循环读取max人数,导致大量消耗游戏缓存,而造成卡机现象。
解决方法:
需要修改脚本,
先定义好你的 MAX_BATTLE_MEMBERS 人数,固定数值,
找到 Game_Party 在 class Game_Party < Game_Unit
常量:MAX_MEMBERS的下面,加上 MAX_BATTLE_MEMBERS = 你的固定数值。
就可以了!  

[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: mislay    时间: 2008-7-11 15:05
提示: 作者被禁止或删除 内容自动屏蔽




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