Project1

标题: 改善事件过多卡机 v1.1 (2.13更新) [打印本页]

作者: 诡异の猫    时间: 2008-2-11 05:20
标题: 改善事件过多卡机 v1.1 (2.13更新)
刚发现问题
这个版本和XP版本都存在隐患.
(播放动画移动会有问题,事件走出视野外不更新)
所以把这东西删掉了
如果您绘制的地图比较大,设置的事件多但是分散.
请使用这个脚本
如果你的地图大部分比较小或者事件不多的话
那就不必了
  1. #============================================================================
  2. # ■ VX_事件图形刷新简化    —— By 诡异の猫
  3. #============================================================================
  4. #    脚本内容: 只刷新视野内的事件图形,改善大地图事件过多卡机情况.
  5. #============================================================================
  6. class Sprite_Character < Sprite_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 判定图形是否再视野内
  9.   #--------------------------------------------------------------------------
  10.   def in_view?
  11.     add_x = (self.width-32)*4 + 256
  12.     add_y = self.height*8
  13.     begin_x = $game_map.display_x - add_x
  14.     begin_y = $game_map.display_y - add_y
  15.     end_x = $game_map.display_x + 4352 + add_x
  16.     end_y = $game_map.display_y + 3328 + add_y
  17.     limit_x = $game_map.width * 256 - 256 + add_x
  18.     limit_y = $game_map.height * 256 - 256 + add_y
  19.     char_x = @character.real_x
  20.     char_y = @character.real_y
  21.     if end_x <= limit_x
  22.       return false if char_x < begin_x or char_x > end_x
  23.     end
  24.     if end_y <= limit_y
  25.       return false if char_y < begin_y or char_y > end_y
  26.     end
  27.     if end_x > limit_x and end_y > limit_y
  28.       return false if char_x < begin_x and char_x > end_x - limit_x
  29.       return false if char_y < begin_y and char_y > end_y - limit_y
  30.     end
  31.     return true
  32.   end
  33.   #--------------------------------------------------------------------------
  34.   # ● 更新画面
  35.   #--------------------------------------------------------------------------
  36.   def update
  37.     super
  38.     if in_view?
  39.       update_bitmap
  40.       self.visible = (not @character.transparent)
  41.       update_src_rect
  42.       self.x = @character.screen_x
  43.       self.y = @character.screen_y
  44.       self.z = @character.screen_z
  45.       self.opacity = @character.opacity
  46.       self.blend_type = @character.blend_type
  47.       self.bush_depth = @character.bush_depth
  48.     end
  49.     update_balloon
  50.     if @character.animation_id != 0
  51.       animation = $data_animations[@character.animation_id]
  52.       start_animation(animation)
  53.       @character.animation_id = 0
  54.     end
  55.     if @character.balloon_id != 0
  56.       @balloon_id = @character.balloon_id
  57.       start_balloon
  58.       @character.balloon_id = 0
  59.     end
  60.   end
  61. end
复制代码

点击查看原帖
这个脚本效果差点
见谅.!


              [本贴由 风雪优游 于 2008-4-3 23:16:03 进行了编辑]
作者: 真の邵东    时间: 2008-2-11 05:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-2-11 05:22
MS外站有个轻量化。
作者: 亿万星辰    时间: 2008-2-11 05:24
看来LZ解决了不少VX的问题,那天晚上研究了一晚上也没能根治这个
作者: 诡异の猫    时间: 2008-2-11 05:39
修正了..
又发现了VX一个BUG..
哈哈..
作者: 真の邵东    时间: 2008-2-11 05:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 真の邵东    时间: 2008-2-11 05:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 光郎    时间: 2008-2-11 06:25
不错!很有用……期待再1.02版收录
作者: 越前リョーマ    时间: 2008-2-11 17:13
那一般大家还是用第一个比较多吧……
作者: 诡异の猫    时间: 2008-2-11 19:14
以下引用越前リョーマ于2008-2-11 9:13:48的发言:

那一般大家还是用第一个比较多吧……


还好拉.. 有点喜欢上地图循环了..  可以轻松做无限大的迷宫..
走起来别有一番趣味..{/hx}

不过还是很讨厌大地图,..{/gg}
作者: 越前リョーマ    时间: 2008-2-11 19:16
以下引用诡异の猫于2008-2-11 11:14:37的发言:


以下引用越前リョーマ于2008-2-11 9:13:48的发言:

那一般大家还是用第一个比较多吧……



还好拉.. 有点喜欢上地图循环了..  可以轻松做无限大的迷宫..
走起来别有一番趣味..

不过还是很讨厌大地图,..

迷宫用的话……

得旁边空才行……
自动生成的迷宫没这效果……
作者: 诡异の猫    时间: 2008-2-11 19:20
以下引用越前リョーマ于2008-2-11 11:16:44的发言:
迷宫用的话……

得旁边空才行……
自动生成的迷宫没这效果……


不需要自动生成迷宫..对自动的东西米爱{/hx}
就是画一张迷宫..
然后地图循环..
这样显得迷宫更大.
更诡异..
像那种走了很多遍又回到原来地方的感觉{/hx}
作者: 雷欧纳德    时间: 2008-2-11 19:25
话说怎么会是只刷新3*3范围呢。。。。至少也应该是刷新全部可视范围吧
作者: 诡异の猫    时间: 2008-2-11 19:28
以下引用雷欧纳德于2008-2-11 11:25:14的发言:

话说怎么会是只刷新3*3范围呢。。。。至少也应该是刷新全部可视范围吧

为什么- -

角色行走图就是刷新可视范围
但是角色事件
反正那些事件(除并行处理和自动执行)只会在色3*3范围内才有可能启动
所以就只刷3*3..{/gg}
作者: 诡异の猫    时间: 2008-2-11 19:29
以下引用暴动冲锋于2008-2-11 11:19:01的发言:

我想知道到底这算不算BUG……
也就是说,不打这个PATCH,事件处理会不会出错?

不是BUG..
只是如果地图大..放的事件比较多..那样会卡.
打这个脚本就能改善卡机情况.
作者: 雷欧纳德    时间: 2008-2-11 20:15
以下引用诡异の猫于2008-2-11 11:28:50的发言:

为什么- -

角色行走图就是刷新可视范围
但是角色事件
反正那些事件(除并行处理和自动执行)只会在色3*3范围内才有可能启动
所以就只刷3*3..


npc应该是视线范围内的都会随机乱跑,现在变成你靠近他了他开始随机乱跑,不觉得很奇怪么?
作者: 诡异の猫    时间: 2008-2-11 20:28
以下引用雷欧纳德于2008-2-11 12:15:25的发言:
npc应该是视线范围内的都会随机乱跑,现在变成你靠近他了他开始随机乱跑,不觉得很奇怪么?

对喔.忽略了这点- -
谢谢提醒{/hx}
作者: 火鸡三毛老大    时间: 2008-2-11 22:54
这个不错....{/cy}  不过为什么要分循环和不循环呢  ...
   直接整合起来不行吗?
作者: 诡异の猫    时间: 2008-2-11 23:20
以下引用火鸡三毛老大于2008-2-11 14:54:39的发言:

这个不错....  不过为什么要分循环和不循环呢  ...
  直接整合起来不行吗?


其实循环就包括了不循环..{/gg}
但是不循环理论上效果好一点..
而且VX循环存在BUG..
所以.分离出来算了
作者: 越前リョーマ    时间: 2008-2-11 23:34
更新了什么?
作者: 诡异の猫    时间: 2008-2-11 23:36
以下引用越前リョーマ于2008-2-11 15:34:29的发言:

更新了什么?


看脚本- -
就是修正了行走图过大导致部分行走图残留在画面的问题.
还有修正了雷子提出的问题
作者: MagicFlash    时间: 2008-2-12 01:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 阿单同学    时间: 2008-2-12 01:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 超越时空    时间: 2008-2-16 04:25
MS发现BUG...{/fd}


作者: 诡异の猫    时间: 2008-2-16 05:39
以下引用超越时空于2008-2-15 20:25:27的发言:

MS发现BUG...

对不起
这东西不支持大屏幕
如需使用到大屏幕需要修改
作者: Jousun    时间: 2008-2-16 08:01
很强大!!!用啦!!{/qiang}
作者: 风雪优游    时间: 2008-4-4 07:15
发布完毕,VIP+3
http://rpg.blue/web/htm/news1032.htm
作者: 黑之翅膀    时间: 2009-9-12 11:58
在地图中显示动画有冲突,单体变成全场,本来我走到另一个地方看不到动画,加了这脚本走到哪都看到!




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