Project1

标题: 【VA】日站的烛光系统 [打印本页]

作者: 杂兵天下    时间: 2012-2-10 19:15
标题: 【VA】日站的烛光系统
本帖最后由 杂兵天下 于 2012-2-10 19:15 编辑

作者:tomoaky
作者个人网站:(http://hikimoki.sakura.ne.jp/)
RUBY 代码复制
  1. #==============================================================================
  2. # ★ RGSS3_視界制限 Ver1.0
  3. #==============================================================================
  4. =begin
  5.  
  6. 作者:tomoaky
  7. 作者个人网站:([url]http://hikimoki.sakura.ne.jp/[/url])
  8.  
  9. 可以设定烛光范围
  10.  
  11. 状态、職業、武器(防具)、角色放入<视界补正 32>这类标签
  12. 例)<视界补正 32>
  13. 視界会增加32。
  14. 必须有图像:
  15.   Graphics/System/sight_shadow.png
  16.  
  17. 2012.01.20  Ver1.0
  18.   公開
  19.  
  20. =end
  21.  
  22. module TMBLSIGHT
  23.   # 例)SIGHT[3] = 128  # 地图3的视界是128
  24.   SIGHT = {}
  25.   #SIGHT[4] = 256
  26. end
  27. class RPG::BaseItem
  28.   def sight_power
  29.     unless @sight_power
  30.       @sight_power = /<视界补正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
  31.     end
  32.     @sight_power
  33.   end
  34. end
  35. class Game_Actor
  36.   def sight_power
  37.     result = 0
  38.     p feature_objects
  39.     feature_objects.each {|object| result += object.sight_power}
  40.     result
  41.   end
  42. end
  43. class Sprite_SightShadow < Sprite
  44.   def initialize(viewport = nil)
  45.     super(viewport)
  46.     self.z = 200
  47.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  48.     @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  49.   end
  50.   def dispose
  51.     self.bitmap.dispose
  52.     @bitmap_shadow.dispose
  53.     super
  54.   end
  55.   def update
  56.     super
  57.     dq=TMBLSIGHT::SIGHT[$game_map.map_id]
  58.     $rfsh=0 if $rfsh.nil?
  59.     if $game_switches[8]==true
  60.       dq=512 unless dq
  61.     else
  62.       dq=0
  63.     end
  64.     if dq==0 or $rfsh!=0
  65.       self.visible = false
  66.     else
  67.       self.visible = true
  68.       self.bitmap.clear
  69.       w = dq
  70.       $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
  71.       x = $game_player.screen_x - w / 2
  72.       y = $game_player.screen_y - w / 2 - 16
  73.       rect = Rect.new(x, y, w, w)
  74.       self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
  75.       color = Color.new(0, 0, 0)
  76.       self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
  77.       self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w, color)
  78.       self.bitmap.fill_rect(0, y, x, w, color)
  79.       self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
  80.     end
  81.     $rfsh+=1
  82.     $rfsh=0 if $rfsh==5
  83.   end
  84. end
  85. class Spriteset_Map
  86.   alias tmblsight_spriteset_map_initialize initialize
  87.   def initialize
  88.     @sight_shadow_sprite = Sprite_SightShadow.new
  89.     tmblsight_spriteset_map_initialize
  90.   end
  91.   alias tmblsight_spriteset_map_dispose dispose
  92.   def dispose
  93.     tmblsight_spriteset_map_dispose
  94.     @sight_shadow_sprite.dispose
  95.   end
  96.   alias tmblsight_spriteset_map_update update
  97.   def update
  98.     @sight_shadow_sprite.update
  99.     tmblsight_spriteset_map_update
  100.   end
  101. end

作者: tseyik    时间: 2012-2-10 23:56
我己発過了
而且己是1.1版
http://rpg.blue/thread-221710-1-1.html
作者: kiuh99999    时间: 2012-2-11 10:16
这个脚本是  視界制限  就是视野脚本。。。
真正的烛光脚本。。
http://www.tktkgame.com/tkool/vxa/light.html 这里。。。
截图看http://rpg.blue/thread-222014-1-3.html 的沙发。、。。
作者: ilmynasan    时间: 2012-2-16 20:01
貌似外网还有个更厉害的……?= =
http://www.rpgmakervxace.net/ind ... e-light-effects-10/
可以搞出手电筒什么的




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