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

Project1

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

[已经过期] VA烛光效果的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2013-1-20
帖子
7
跳转到指定楼层
1
 楼主| 发表于 2013-1-22 19:26:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 paledream 于 2013-1-22 19:27 编辑

我用了这个帖子的脚本
http://rpg.blue/thread-224000-1-1.html
用了以后有2个问题:
1.屏幕进入黑暗之前仍然有一段很短的时间,那时候已经够看见整个地图了
2.固定的蜡烛的灯光效果设置不出来,用了注释/@LIGHT1/依旧没有效果

点评

我用了这个貌似运都运行不能,现在还在纠结弄不出烛光……不过视野限制很好弄,不知LZ要的是哪种?  发表于 2013-1-22 19:52

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2013-1-20
帖子
7
2
 楼主| 发表于 2013-1-22 20:12:51 | 只看该作者
@Munchen1921
视野限制怎么弄啊,还有怎么让蜡烛发光晕啊
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
735
在线时间
886 小时
注册时间
2012-5-24
帖子
953
3
发表于 2013-1-22 20:31:49 | 只看该作者
paledream 发表于 2013-1-22 20:12
@Munchen1921
视野限制怎么弄啊,还有怎么让蜡烛发光晕啊

视野限制效果是这样的:
要添加的脚本在“插件脚本”那里添加,这个脚本也是我在论坛里找到的,(翻不出原贴了很抱歉,
1.嗯……需要添加一张图片,放在Graphics\System里面,
图片是这个:
*需要把图片名字改成LE,(扩展名png不改)
2.脚本的第47行是:  SIGHT[1] = 128  其中的128是范围大小,可以修改,数越大范围越大。
插入脚本是:
#==============================================================================
# ★ RGSS3_视界制限 Ver1.1
#==============================================================================
=begin

作者:tomoaky
首发网站:ひきも记 (http://hikimoki.sakura.ne.jp/)

设定号码的地图限制视野。

写在角色,职业,是在武器(防护具)的备注中的标签
能补正视野限制的尺寸。
例)<视界补正 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[1] = 128

  VN_SIGHT = 1    # 设定尺寸大小补正在游戏中使用的游戏变量
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
在线时间
9 小时
注册时间
2013-1-20
帖子
7
4
 楼主| 发表于 2013-1-22 21:14:16 | 只看该作者
Munchen1921 发表于 2013-1-22 20:31
视野限制效果是这样的:
要添加的脚本在“插件脚本”那里添加,这个脚本也是我在论坛里找到的,(翻不出 ...

3Q,还有这个怎么设置多张地图
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
735
在线时间
886 小时
注册时间
2012-5-24
帖子
953
5
发表于 2013-1-22 21:29:19 | 只看该作者
paledream 发表于 2013-1-22 21:14
3Q,还有这个怎么设置多张地图

意思是想要几张地图都有这种效果吗……?
修改脚本的话我不会也不知道怎么弄(嘛我也是菜鸟= =),
但是刚才在论坛里搜索到一个不用脚本的方法,
这个是地址:http://rpg.blue/forum.php?mod=viewthread&tid=238768   见6L。
我没有试过这个方法……= =,。

还有烛光系统我也没成功,如果LZ成功了希望能@我一下……我也想学习。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21686
在线时间
9420 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

6
发表于 2013-1-22 22:56:23 | 只看该作者
本帖最后由 喵呜喵5 于 2013-1-22 22:58 编辑

免脚本直接显示图片视野限制法:

这个是我现在自己在用的文件来着……

需要视野限制的时候就显示图片,图片附件里面附着,显示图片的设置如图:

原点注意修改为【中心】,显示位置的话如果没对准中心就自己动手改,不然就不用修改了

缩放度用来设置视野的大小

不透明度用来设置视野黑色部分的透明程度



缺点就是地图显示动画会被这个视野限制图片挡住…………

mask.png (40.29 KB, 下载次数: 42)

mask.png

点评

有个……重大缺点……宽度17、高度13的地图……你走到边缘试试……  发表于 2013-2-18 19:24
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2013-1-20
帖子
7
7
 楼主| 发表于 2013-1-23 14:01:49 | 只看该作者
Munchen1921 发表于 2013-1-22 21:29
意思是想要几张地图都有这种效果吗……?
修改脚本的话我不会也不知道怎么弄(嘛我也是菜鸟= =),
但是 ...

用了你给的代码试了几次,终于知道怎么设置几张图了,在代码47行那里
SIGHT[1]=128 就是控制着地图map001是视野限制的,后面的128可以改动调视野大小。
要多张图都限制,就只要在下面一行再打一遍SIGHT[?]=128 ?为你要的地图
例如,将地图1、2、3设为视野限制:

RUBY 代码复制
  1. module TMBLSIGHT
  2.   # 指定几号的地图进行视界制限
  3.   # 例)SIGHT[3] = 128  # 设置地图号码3的视野能见度128点矩形
  4.   SIGHT = {}
  5.   SIGHT[1] = 128
  6.   SIGHT[2] = 128
  7.   SIGHT[3] = 128
  8.  
  9.   VN_SIGHT = 1    # 设定尺寸大小补正在游戏中使用的游戏变量
  10. end


另外,我一楼里用的链接的方法第二个问题已经解决,已经可以使用烛光了,但第一个问题依然存在。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
735
在线时间
886 小时
注册时间
2012-5-24
帖子
953
8
发表于 2013-1-23 17:42:43 | 只看该作者
喵呜喵5 发表于 2013-1-22 22:56
免脚本直接显示图片视野限制法:

这个是我现在自己在用的文件来着……

谢谢帮助哈~~不过比起用脚本稍稍显麻烦一点,(现在窝终于知道原来弄点脚本可以省好多事= =)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
735
在线时间
886 小时
注册时间
2012-5-24
帖子
953
9
发表于 2013-1-23 17:57:51 | 只看该作者
paledream 发表于 2013-1-23 14:01
用了你给的代码试了几次,终于知道怎么设置几张图了,在代码47行那里
SIGHT[1]=128 就是控制着地图map001 ...

喔喔原来是这样~!!谢谢~~。话说第一个问题,以前玩其他的游戏貌似也遇到过这种的情况,
所以……我也一起等待能解决这个问题的人到来好了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
25 小时
注册时间
2012-12-30
帖子
9
10
发表于 2013-1-29 09:06:34 | 只看该作者
试了一下,貌似在要黑的房间设个并行,然后开关和变量放在并行里就没延迟了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 17:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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