Project1

标题: 告诉我一些VX的可防卡机的脚本 [打印本页]

作者: 邪神    时间: 2008-7-18 02:18
标题: 告诉我一些VX的可防卡机的脚本
告诉我一些VX的可防卡机的脚本
多多益善
[LINE]1,#dddddd[/LINE]此贴于 2008-7-21 22:44:19 被版主火鸡三毛老大提醒,请楼主看到后对本贴做出回应。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 越前リョーマ    时间: 2008-7-18 02:19
  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
复制代码

防卡脚本仅能用一个。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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