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

Project1

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

[有事请教] 【求解】这脚本的效率怎么了?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
跳转到指定楼层
1
发表于 2012-2-10 14:45:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 杂兵天下 于 2012-2-10 14:46 编辑
  1. #==============================================================================
  2. # ★ RGSS3_視界制限 Ver1.0
  3. #==============================================================================
  4. =begin

  5. 作者:tomoaky
  6. 作者个人网站:(http://hikimoki.sakura.ne.jp/)

  7. 可以设定烛光范围

  8. 状态、職業、武器(防具)、角色放入<视界补正 32>这类标签
  9. 例)<视界补正 32>
  10. 視界会增加32。
  11. 必须有图像:
  12.   Graphics/System/sight_shadow.png
  13.   
  14. 2012.01.20  Ver1.0
  15.   公開

  16. =end

  17. module TMBLSIGHT
  18.   # 例)SIGHT[3] = 128  # 地图3的视界是128
  19.   SIGHT = {}
  20.   SIGHT[4] = 256
  21. end
  22. class RPG::BaseItem
  23.   def sight_power
  24.     unless @sight_power
  25.       @sight_power = /<视界补正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
  26.     end
  27.     @sight_power
  28.   end
  29. end
  30. class Game_Actor
  31.   def sight_power
  32.     result = 0
  33.     p feature_objects
  34.     feature_objects.each {|object| result += object.sight_power}
  35.     result
  36.   end
  37. end
  38. class Sprite_SightShadow < Sprite
  39.   def initialize(viewport = nil)
  40.     super(viewport)
  41.     self.z = 200
  42.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  43.     @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  44.   end
  45.   def dispose
  46.     self.bitmap.dispose
  47.     @bitmap_shadow.dispose
  48.     super
  49.   end
  50.   def update
  51.     super
  52.     dq=TMBLSIGHT::SIGHT[$game_map.map_id]
  53.     if $game_switches[8]==true
  54.       dq=512 unless dq
  55.     else
  56.       dq=0
  57.     end
  58.     if dq==0
  59.       self.visible = false
  60.     else
  61.       self.visible = true
  62.       self.bitmap.clear
  63.       w = TMBLSIGHT::SIGHT[$game_map.map_id]
  64.       $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
  65.       x = $game_player.screen_x - w / 2
  66.       y = $game_player.screen_y - w / 2 - 16
  67.       rect = Rect.new(x, y, w, w)
  68.       self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
  69.       color = Color.new(0, 0, 0)
  70.       self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
  71.       self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w, color)
  72.       self.bitmap.fill_rect(0, y, x, w, color)
  73.       self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
  74.     end
  75.   end
  76. end
  77. class Spriteset_Map
  78.   alias tmblsight_spriteset_map_initialize initialize
  79.   def initialize
  80.     @sight_shadow_sprite = Sprite_SightShadow.new
  81.     tmblsight_spriteset_map_initialize
  82.   end
  83.   alias tmblsight_spriteset_map_dispose dispose
  84.   def dispose
  85.     tmblsight_spriteset_map_dispose
  86.     @sight_shadow_sprite.dispose
  87.   end
  88.   alias tmblsight_spriteset_map_update update
  89.   def update
  90.     @sight_shadow_sprite.update
  91.     tmblsight_spriteset_map_update
  92.   end
  93. end
复制代码
额其实这脚本已经被修改了一处。
这是日本的烛光系统,只要打开8号开关,FPS就暴跌。。。
另外:一个BUG,按下F1时,地图会整个显示
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-7-28 10:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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