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

Project1

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

[已经解决] 关于这个烛光系统 求助啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
跳转到指定楼层
1
发表于 2013-4-29 20:48:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 光の異形 于 2013-5-5 13:16 编辑

对脚本一点不懂 太惨了 ···

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
2
 楼主| 发表于 2013-4-29 20:49:32 | 只看该作者
#==============================================================================
# ★ RGSS3_视界制限 Ver1.1
#==============================================================================
=begin

作者:tomoaky
首发网站:ひきも记
设定号码的地图限制视野。

写在角色,职业,是在武器(防护具)的备注中的标签
能补正视野限制的尺寸。
例)<视界补正 32>
视界32点扩大広。
只有战斗成员进行视野补正价值的计算。

游戏变量(默认情况下,#9),可以调整大小使用视图领域。

加入上述所有设置,将获得的实际大小限制的能见度。
然而,如果尚未设置能见度限制的地图上都是无效的。

因为每帧都会重绘整个屏幕的Sprite
将会有所加重。

操作所需的图像
  Graphics/System/sight_shadow.png
  
游戏变量使用(默认设置)
  0009

2012.02.05  Ver1.1
  ・调整Z坐标使计时器使不被遮住
  ・加使用游戏变量补正视野限制尺寸的功能(通过变量可做成开/関效果)
  
2012.01.20  Ver1.0
  公开

=end

#==============================================================================
# □ 设定项目
#==============================================================================
module TMBLSIGHT
  # 指定几号的地图进行视界制限
  # 例)SIGHT[3] = 128  # 设置地图号码3的视野能见度128点矩形
  SIGHT = {}
  SIGHT[12] = 320
  SIGHT[14] = 320

  
  VN_SIGHT = 2    # 设定尺寸大小补正在游戏中使用的游戏变量
end

#==============================================================================
# □ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ○ 视界制限补正値
  #--------------------------------------------------------------------------
  def sight_power
    unless @sight_power
      @sight_power = /<视界补正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
    end
    @sight_power
  end
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  # ○ 视界制限补正値
  #--------------------------------------------------------------------------
  def sight_power
    result = 0
    feature_objects.each {|object| result += object.sight_power}
    result
  end
end

#==============================================================================
# □ Sprite_SightShadow
#==============================================================================
class Sprite_SightShadow < Sprite
  #--------------------------------------------------------------------------
  # ● 物件初期化
  #--------------------------------------------------------------------------
  def initialize(viewport = nil)
    super(viewport)
    self.z = 199
    self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
    @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    @bitmap_shadow.dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● 帧更新
  #--------------------------------------------------------------------------
  def update
    super
    if TMBLSIGHT::SIGHT[$game_map.map_id]
      self.visible = true
      self.bitmap.clear
      w = TMBLSIGHT::SIGHT[$game_map.map_id]
      $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
      w = [w + $game_variables[TMBLSIGHT::VN_SIGHT], 48].max
      x = $game_player.screen_x - w / 2
      y = $game_player.screen_y - w / 2 - 16
      rect = Rect.new(x, y, w, w)
      self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
      color = Color.new(0, 0, 0)
      self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
      self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w,
        color)
      self.bitmap.fill_rect(0, y, x, w, color)
      self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
    else
      self.visible = false
    end
  end
end

#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● 物件初期化
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_initialize initialize
  def initialize
    tmblsight_spriteset_map_initialize
    create_sight_shadow
  end
  #--------------------------------------------------------------------------
  # ○ 作成视界制限Sprite
  #--------------------------------------------------------------------------
  def create_sight_shadow
    @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_dispose dispose
  def dispose
    tmblsight_spriteset_map_dispose
    dispose_sight_shadow
  end
  #--------------------------------------------------------------------------
  # ○ 解放视界制限Sprites
  #--------------------------------------------------------------------------
  def dispose_sight_shadow
    @sight_shadow_sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● 帧更新
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_update update
  def update
    update_sight_shadow
    tmblsight_spriteset_map_update
  end
  #--------------------------------------------------------------------------
  # ○ 更新视界制限Sprites
  #--------------------------------------------------------------------------
  def update_sight_shadow
    @sight_shadow_sprite.update if @sight_shadow_sprite
  end
end
  
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
3
 楼主| 发表于 2013-4-29 20:51:58 | 只看该作者
#--------------------------------------------------------------------------
  # ● 物件初期化
  #--------------------------------------------------------------------------
  def initialize(viewport = nil)
    super(viewport)
    self.z = 199
    self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
    @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  end
  #--------------------------------------------------------------------------
这句是设置 光线的图片吧 有没有办法 改成 多几个呀
比如更据玩家的方向 切换 4个张
其他的 一个光强 一个光弱 就好了 ···········
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
4
 楼主| 发表于 2013-4-29 20:55:30 | 只看该作者
其实我想到一个很蠢的办法 就是 复制这个脚本六次 用六个开关来实现 ········
但是 问题是 这样 就不能有两个光源了呀 ············ 怎么办啊 我脑壳疼
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
帖子
2394
5
发表于 2013-5-1 20:25:09 | 只看该作者
所以LZ的问题是什么?= =

坑的进度如上                                                                                                        点击↑
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22973
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
6
发表于 2013-5-2 00:43:45 | 只看该作者
用其他烛光系统
1.
Khas Awesome Light Effects
http://forums.rpgmakerweb.com/in ... some-light-effects/
2.
HN_Light
http://www.tktkgame.com/
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
7
发表于 2013-5-2 05:08:09 | 只看该作者
视界脚本不是烛光系统啊!怎么一直看到有人把两者混淆了,虽然视界也用一张圆形的图,但实际用途不一样,有真正的光照脚本,为何总是要拿视界脚本当烛光系统用呢?
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
8
 楼主| 发表于 2013-5-2 07:41:22 | 只看该作者
黄濑凉太 发表于 2013-5-1 20:25
所以LZ的问题是什么?= =

其实是想说 怎么在这个脚本加入一些条件 来实现 可以切换几张不一样的图 不一定一定要是圆形
或者有什么办法可以控制这张图片吗
因为在这个脚本中使用的图片 是没有编号的 用游戏事件控制不了 如旋转90度什么的
这样就可以改出不错的手电筒系统了呀
我想要一个手电筒的系统
光线都弄好了的说
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
9
 楼主| 发表于 2013-5-2 07:44:19 | 只看该作者
tseyik 发表于 2013-5-2 00:43
用其他烛光系统
1.
Khas Awesome Light Effects

  谢谢了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2013-4-5
帖子
152
10
 楼主| 发表于 2013-5-2 07:49:44 | 只看该作者
j433463 发表于 2013-5-2 05:08
视界脚本不是烛光系统啊!怎么一直看到有人把两者混淆了,虽然视界也用一张圆形的图,但实际用途不一样,有 ...



吾辈都不知道自己能不能算到入门行列 好多都不懂的 这个脚本在一个脚本整合里边复制的 说明是烛光系统
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-25 08:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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