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

Project1

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

[已经解决] 怎么限制视觉范围

[复制链接]

Lv1.梦旅人

梦石
0
星屑
225
在线时间
6 小时
注册时间
2013-7-10
帖子
3
跳转到指定楼层
1
发表于 2013-7-12 18:32:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
嗯...如果是脚本的话请前辈再说一下脚本插在哪,谢谢,我是个菜鸟哎..

谢谢.....

Lv1.梦旅人

梦石
0
星屑
50
在线时间
95 小时
注册时间
2013-4-10
帖子
86
2
发表于 2013-7-12 19:12:37 | 只看该作者
1.简单的方法就是找个黑色的图中间抠个透明的洞洞然后丢到游戏中只露出主角
2.麻烦的方法请自行搜索 烛光脚本

评分

参与人数 1星屑 +50 收起 理由
Sion + 50 感谢帮忙

查看全部评分

...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
900 小时
注册时间
2012-11-13
帖子
893
3
发表于 2013-7-19 08:58:29 | 只看该作者
废弃
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
170
在线时间
227 小时
注册时间
2011-5-19
帖子
736
4
发表于 2013-7-19 09:20:51 | 只看该作者
搜索‘烛光脚本’。
(其实图书馆里就有的说……)

评分

参与人数 1星屑 +50 收起 理由
Sion + 50 感谢帮忙

查看全部评分

休息中……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
帖子
2394
5
发表于 2013-7-19 15:13:47 | 只看该作者
  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.   SIGHT[4] = 90
  38.   SIGHT[83] = 90

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

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

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

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

  116. #==============================================================================
  117. # ■ Spriteset_Map
  118. #==============================================================================
  119. class Spriteset_Map
  120.   #--------------------------------------------------------------------------
  121.   # ● 物件初期化
  122.   #--------------------------------------------------------------------------
  123.   alias tmblsight_spriteset_map_initialize initialize
  124.   def initialize
  125.     tmblsight_spriteset_map_initialize
  126.     create_sight_shadow
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ○ 作成视界制限Sprite
  130.   #--------------------------------------------------------------------------
  131.   def create_sight_shadow
  132.     @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ● 解放
  136.   #--------------------------------------------------------------------------
  137.   alias tmblsight_spriteset_map_dispose dispose
  138.   def dispose
  139.     tmblsight_spriteset_map_dispose
  140.     dispose_sight_shadow
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ○ 解放视界制限Sprites
  144.   #--------------------------------------------------------------------------
  145.   def dispose_sight_shadow
  146.     @sight_shadow_sprite.dispose
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● 帧更新
  150.   #--------------------------------------------------------------------------
  151.   alias tmblsight_spriteset_map_update update
  152.   def update
  153.     update_sight_shadow
  154.     tmblsight_spriteset_map_update
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ○ 更新视界制限Sprites
  158.   #--------------------------------------------------------------------------
  159.   def update_sight_shadow
  160.     @sight_shadow_sprite.update if @sight_shadow_sprite
  161.   end
  162. end
  163.   
复制代码
然后把这张图片插入到Graphics/System里面,并命名为sight_shadow.png

指定几号的地图进行视界制限在47行左右。
设定尺寸大小补正在游戏中使用的游戏变量在51行。

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 感谢帮忙

查看全部评分


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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 08:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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