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

Project1

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

[已经解决] 【发现我什么也不会】怎么使灯光跟着主角走?

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
45
在线时间
62 小时
注册时间
2015-3-15
帖子
272
跳转到指定楼层
1
发表于 2015-8-8 22:12:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21030
在线时间
9339 小时
注册时间
2012-6-19
帖子
7107

开拓者短篇九导演组冠军

2
发表于 2015-8-9 00:28:25 | 只看该作者
你所示例的那个游戏的灯光效果应该是通过脚本实现的,当然,通过公共事件也能实现,就是比较麻烦需要实时判断主角位置并更新事件位置就是了

因为我这个66RPG的人很无情,所以我只告诉你具体的事件写法你自己弄个并行的公共事件慢慢折磨吧。

点评

他已经误解了 手里拿着刀  发表于 2015-8-13 15:33
我说的不是喵呜,我说楼主,别误解  发表于 2015-8-9 23:36
你这是在喷人吗? 看来你又要“受到五名66r人的嘲讽和讪笑了”!  发表于 2015-8-9 23:35

评分

参与人数 1星屑 +23 收起 理由
越前リョーマ + 23 笑死我了

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
158 小时
注册时间
2015-7-14
帖子
42
3
发表于 2015-8-9 02:11:56 | 只看该作者
本帖最后由 钠酸钾 于 2015-8-9 02:14 编辑

这个脚本试一下
  1. #==============================================================================
  2. # ★ RGSS3_视界制限 Ver1.1
  3. #==============================================================================
  4. =begin

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

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

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

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

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

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

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

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

  29. =end

  30. #==============================================================================
  31. # □ 设定项目
  32. #==============================================================================
  33. module TMBLSIGHT
  34.   # 指定几号的地图进行视界制限
  35.   # 例)SIGHT[3] = 128  # 设置地图号码3的视野能见度128点矩形
  36.   SIGHT = {}

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

  39. #==============================================================================
  40. # □ RPG::BaseItem
  41. #==============================================================================
  42. class RPG::BaseItem
  43.   #--------------------------------------------------------------------------
  44.   # ○ 视界制限补正値
  45.   #--------------------------------------------------------------------------
  46.   def sight_power
  47.     unless @sight_power
  48.       @sight_power = /<视界补正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
  49.     end
  50.     @sight_power
  51.   end
  52. end

  53. #==============================================================================
  54. # ■ Game_Actor
  55. #==============================================================================
  56. class Game_Actor
  57.   #--------------------------------------------------------------------------
  58.   # ○ 视界制限补正値
  59.   #--------------------------------------------------------------------------
  60.   def sight_power
  61.     result = 0
  62.     feature_objects.each {|object| result += object.sight_power}
  63.     result
  64.   end
  65. end

  66. #==============================================================================
  67. # □ Sprite_SightShadow
  68. #==============================================================================
  69. class Sprite_SightShadow < Sprite
  70.   #--------------------------------------------------------------------------
  71.   # ● 物件初期化
  72.   #--------------------------------------------------------------------------
  73.   def initialize(viewport = nil)
  74.     super(viewport)
  75.     self.z = 199
  76.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  77.     @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 解放
  81.   #--------------------------------------------------------------------------
  82.   def dispose
  83.     self.bitmap.dispose
  84.     @bitmap_shadow.dispose
  85.     super
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 帧更新
  89.   #--------------------------------------------------------------------------
  90.   def update
  91.     super
  92.     if TMBLSIGHT::SIGHT[$game_map.map_id]
  93.       self.visible = true
  94.       self.bitmap.clear
  95.       w = TMBLSIGHT::SIGHT[$game_map.map_id]
  96.       $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
  97.       w = [w + $game_variables[TMBLSIGHT::VN_SIGHT], 48].max
  98.       x = $game_player.screen_x - w / 2
  99.       y = $game_player.screen_y - w / 2 - 16
  100.       rect = Rect.new(x, y, w, w)
  101.       self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
  102.       color = Color.new(0, 0, 0)
  103.       self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
  104.       self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w,
  105.         color)
  106.       self.bitmap.fill_rect(0, y, x, w, color)
  107.       self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
  108.     else
  109.       self.visible = false
  110.     end
  111.   end
  112. end

  113. #==============================================================================
  114. # ■ Spriteset_Map
  115. #==============================================================================
  116. class Spriteset_Map
  117.   #--------------------------------------------------------------------------
  118.   # ● 物件初期化
  119.   #--------------------------------------------------------------------------
  120.   alias tmblsight_spriteset_map_initialize initialize
  121.   def initialize
  122.     tmblsight_spriteset_map_initialize
  123.     create_sight_shadow
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ○ 作成视界制限Sprite
  127.   #--------------------------------------------------------------------------
  128.   def create_sight_shadow
  129.     @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 解放
  133.   #--------------------------------------------------------------------------
  134.   alias tmblsight_spriteset_map_dispose dispose
  135.   def dispose
  136.     tmblsight_spriteset_map_dispose
  137.     dispose_sight_shadow
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ○ 解放视界制限Sprites
  141.   #--------------------------------------------------------------------------
  142.   def dispose_sight_shadow
  143.     @sight_shadow_sprite.dispose
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 帧更新
  147.   #--------------------------------------------------------------------------
  148.   alias tmblsight_spriteset_map_update update
  149.   def update
  150.     update_sight_shadow
  151.     tmblsight_spriteset_map_update
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ○ 更新视界制限Sprites
  155.   #--------------------------------------------------------------------------
  156.   def update_sight_shadow
  157.     @sight_shadow_sprite.update if @sight_shadow_sprite
  158.   end
  159. end
  160.   
复制代码
以及shadow.png

sight_shadow.png (12.76 KB, 下载次数: 51)

要用到的图片

要用到的图片

点评

那么,这个用到VX可不可以?  发表于 2015-8-9 08:19
lz抱歉啊,手残发成va的了……  发表于 2015-8-9 02:25
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
158 小时
注册时间
2015-7-14
帖子
42
4
发表于 2015-8-9 09:54:27 | 只看该作者
我不知道行不行,因为我又不研究vx,我用的是va。

点评

LZ不好意思,当时因为家里停电,不能点评发给你信息,那时停电前我想发给你的信息是:禁止连贴,要发信息就发点评。  发表于 2015-8-10 12:46
发这条的时候我用的手机……  发表于 2015-8-10 12:39
由于黑科技的原因,补充点评现在对方能收到的,你只要点评自己那一楼就OK,最好不要连帖,谢谢配合。  发表于 2015-8-10 11:14
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
70 小时
注册时间
2015-7-17
帖子
75
5
发表于 2015-8-9 21:55:44 | 只看该作者
本帖最后由 无名氏160510 于 2015-8-9 21:58 编辑

RUBY 代码复制
  1. # 设置烛光种类数
  2. CANDLE_NUMBER = 2
  3.  
  4. # 设置控制开关,不用的话设0
  5. CANDLE_SWITCH = 4
  6.  
  7. #--------------------------------------------------------------------------
  8. # ● 开启或关闭烛光
  9. #--------------------------------------------------------------------------
  10. def candlelight(on=true)
  11.   $candlelight_on = $game_switches[CANDLE_SWITCH] = on
  12.   if on
  13.     # 生成黑色画面
  14.     $black_rect = Sprite.new
  15.     $black_rect.bitmap = Bitmap.new(544, 416)
  16.     $black_rect.bitmap.fill_rect(0, 0, 544, 416, Color.new(200, 200, 200))
  17.     $black_rect.blend_type = 2
  18.  
  19.     # 黑色透明度,决定黑暗的程度
  20.     $black_rect.opacity = 180
  21.  
  22.     # 生成烛光
  23.     $candle_rect = Array.new(CANDLE_NUMBER+1).map{|sprite| sprite=Sprite.new}
  24. #===============================================================================]
  25. #                               烛光在此设置
  26. #===============================================================================
  27.     # 指定第一种烛光
  28.     $candle_rect[1].bitmap = Cache.picture("write1")
  29.  
  30.     # 指定第二种烛光
  31.     $candle_rect[2].bitmap = Cache.picture("write2")
  32. #===============================================================================
  33. #===============================================================================
  34.     $candle_rect.each {|sprite|
  35.         if sprite.bitmap
  36.           sprite.visible = false
  37.           sprite.ox, sprite.oy = sprite.bitmap.width/2, sprite.bitmap.height/2
  38.         end}
  39.   else
  40.     # 释放黑色画面和所有烛光
  41.     $black_rect.dispose
  42.     $candle_rect.each {|sprite| sprite.dispose}
  43.     $game_lighterlist.clear
  44.   end
  45. end
  46. #--------------------------------------------------------------------------
  47. # ● 设置有烛光的角色
  48. #     candle_index : 烛光编号
  49. #     object       : 角色编号,可以为数字或是数字数组
  50. #--------------------------------------------------------------------------
  51. def candles(candle_index, object)
  52.   $game_lighterlist ||= []
  53.   $game_lighterlist[candle_index] ||= []
  54.   if object.is_a?(Integer)
  55.     $game_lighterlist[candle_index] << object
  56.   elsif object.is_a?(Array)
  57.     $game_lighterlist[candle_index] += object
  58.   end
  59.   # 移除重复的角色
  60.   $game_lighterlist[candle_index].uniq!
  61.   # 开启烛光功能
  62.   candlelight unless $candlelight_on
  63. end
  64. #--------------------------------------------------------------------------
  65. # ● 初始化烛光
  66. #--------------------------------------------------------------------------
  67. def initialize_candle
  68.   for k in 1...$candle_rect.size
  69.     next unless $game_lighterlist[k]
  70.     for j in $game_lighterlist[k]
  71.       ch = j == 0 ? $game_player : $game_map.events[j]
  72.       $candle_rect[k].x = ch.screen_x
  73.       $candle_rect[k].y = ch.screen_y - 16
  74.       lsx = $candle_rect[k].x - $candle_rect[k].bitmap.width / 2
  75.       lsy = $candle_rect[k].y - $candle_rect[k].bitmap.height / 2
  76.       $black_rect.bitmap.blt(lsx, lsy, $candle_rect[k].bitmap, $black_rect.bitmap.rect)
  77.     end
  78.   end
  79. end
  80. #--------------------------------------------------------------------------
  81. # ● 更新烛光
  82. #--------------------------------------------------------------------------
  83. def update_candle
  84.   if $game_lighterlist != []
  85.     light = []
  86.     $game_lighterlist.each{|i| light+=i if i}
  87.     light.each do |i|
  88.       ch = i == 0 ? $game_player : $game_map.events[i]
  89.       unless ch.moving_judge?
  90.         $black_rect.bitmap.fill_rect(0, 0, 544, 416, Color.new(200, 200, 200))
  91.         initialize_candle
  92.       end
  93.       break
  94.     end
  95.   end
  96. end
  97.  
  98. class Game_Character
  99.   #--------------------------------------------------------------------------
  100.   # ● 判断移动
  101.   #--------------------------------------------------------------------------
  102.   def moving_judge?
  103.     return (!stopping? or (@pattern != @original_pattern))
  104.   end
  105. end
  106. class Game_Map
  107.   #--------------------------------------------------------------------------
  108.   # ● 刷新烛光
  109.   #--------------------------------------------------------------------------
  110.   alias update_candle_system update
  111.   def update
  112.     if $candlelight_on
  113.       update_candle
  114.       $candlelight_on = false unless $game_switches[CANDLE_SWITCH]
  115.       candlelight(false) unless $candlelight_on
  116.     end
  117.     update_candle_system
  118.   end
  119. end   
  120. class Scene_Map < Scene_Base
  121.   #--------------------------------------------------------------------------
  122.   # ● 生成烛光
  123.   #--------------------------------------------------------------------------
  124.   alias candle_system_start start
  125.   def start
  126.     candle_system_start
  127.     candlelight if $candlelight_on
  128.     initialize_candle if $candlelight_on
  129.   end
  130. end



来自 http://rpg.blue/forum.php?mod=viewthread&tid=89801



如果不行的话还有这个 http://rpg.blue/thread-291008-1-1.html

PS.你才知道自己什么都不会

点评

那个,我要的是灯光能够跟着主角走,也就是说主角走到哪灯光就走到哪。  发表于 2015-8-10 12:47

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
478
在线时间
750 小时
注册时间
2012-11-10
帖子
924
6
发表于 2015-8-9 23:30:35 | 只看该作者
本帖最后由 结城照美 于 2015-8-10 00:07 编辑

真是笑尿了 我还隐约记得楼主这个极品,原来还在奋斗
视野这个都算是日经问题了,我注册66之前估计都被问了四五年,之后估计要继续问上十多年,随手一搜就能搞定的问题,简单来说就是拿一张抠掉中间的图然后事件显示图片就是了,需要其他灯光的脚本估计一搜也是一大把
最让人哭笑不得的还是这个态度,哎你当别人帮你打工啊,那谁小陈帮我找下XX的图标,小李帮我找下XX的素材。你要是有几百VIP悬赏我不但帮你找还帮你售后呢。


建议楼主多外出走走,接触健康的社会环境,不要老泡在网上急着创造自身价值这样反而会形成极端价值观,这里其实没人在等着你的游戏玩,真的。

评分

参与人数 2星屑 +290 收起 理由
上贺茂润 + 300
Luciffer -10 无关内容

查看全部评分

有本事就来阻止我啊,主体单元『天照』!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
70 小时
注册时间
2015-7-17
帖子
75
7
发表于 2015-8-9 23:42:44 | 只看该作者
66rpg的人很无情吗?
没人回答你的问题,估计是你
1.手伸的太长
2.问题脑残,随便一搜就可以解决

另外,你这么伸手、还骂人,在百度贴吧早被人肉了!
66rpg的人已经够包容你了

点评

子无缚鸡之力 何来屠龙之勇 枉以无知为天真 竹篮打水一场空  发表于 2015-8-13 15:26
那你帮我一个小问题:主角在开门时需要一把钥匙,必须要按起X调出菜单点击物品才能用,这要怎么设置,,,,,  发表于 2015-8-10 12:53

评分

参与人数 1星屑 -10 收起 理由
Luciffer -10 无关内容

查看全部评分


回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 17:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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