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

Project1

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

[已经解决] 类似迷宫的旅人那样的视野限制怎么做?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
97
在线时间
308 小时
注册时间
2014-1-16
帖子
467
跳转到指定楼层
1
发表于 2015-1-17 12:38:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 VIPArcher 于 2015-1-26 16:47 编辑

https://rpg.blue/forum.php?mod=attachment&aid=MjcxMDcyfDY0NTE5ZGIyNGQyNDVkODliNjU5Y2ZkYzEwOTFkZGIwfDE3MTM2Mjk4NjM%3D&request=yes&_f=.png
这个效果大家谁会

4.png (108.58 KB, 下载次数: 11)

4.png

4.png (108.58 KB, 下载次数: 17)

4.png

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
2
发表于 2015-1-17 12:53:46 | 只看该作者
你想说的是什么……  视野限制么……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
97
在线时间
308 小时
注册时间
2014-1-16
帖子
467
3
 楼主| 发表于 2015-1-17 13:07:56 | 只看该作者
三途亚梦 发表于 2015-1-17 12:53
你想说的是什么……  视野限制么……

是的,你会吗?会的话帮我讲一下吧

点评

图书馆中有相关的脚本,请查阅,另外类似的视野限制的帖子也有很多,请善用搜索。  发表于 2015-1-17 13:09
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9275
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

4
发表于 2015-1-17 13:11:12 | 只看该作者
你要的是视野限制吗?···
那就是这个咯
  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[1] = 192

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

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

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

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

  115. #==============================================================================
  116. # ■ Spriteset_Map
  117. #==============================================================================
  118. class Spriteset_Map
  119.   #--------------------------------------------------------------------------
  120.   # ● 物件初期化
  121.   #--------------------------------------------------------------------------
  122.   alias tmblsight_spriteset_map_initialize initialize
  123.   def initialize
  124.     tmblsight_spriteset_map_initialize
  125.     create_sight_shadow
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ○ 作成视界制限Sprite
  129.   #--------------------------------------------------------------------------
  130.   def create_sight_shadow
  131.     @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
  132.   end
  133.   #--------------------------------------------------------------------------
  134.   # ● 解放
  135.   #--------------------------------------------------------------------------
  136.   alias tmblsight_spriteset_map_dispose dispose
  137.   def dispose
  138.     tmblsight_spriteset_map_dispose
  139.     dispose_sight_shadow
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ○ 解放视界制限Sprites
  143.   #--------------------------------------------------------------------------
  144.   def dispose_sight_shadow
  145.     @sight_shadow_sprite.dispose
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 帧更新
  149.   #--------------------------------------------------------------------------
  150.   alias tmblsight_spriteset_map_update update
  151.   def update
  152.     update_sight_shadow
  153.     tmblsight_spriteset_map_update
  154.   end
  155.   #--------------------------------------------------------------------------
  156.   # ○ 更新视界制限Sprites
  157.   #--------------------------------------------------------------------------
  158.   def update_sight_shadow
  159.     @sight_shadow_sprite.update if @sight_shadow_sprite
  160.   end
  161. end
复制代码
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
97
在线时间
308 小时
注册时间
2014-1-16
帖子
467
5
 楼主| 发表于 2015-1-17 13:32:25 | 只看该作者
chd114 发表于 2015-1-17 13:11
你要的是视野限制吗?···
那就是这个咯

https://rpg.blue/forum.php?mod=attachment&aid=MjcxMDc0fDcxM2NiYjAxMTBjZDY0YjE3MWY2OWU0YjczYjljMGNlfDE3MTM2Mjk4NjM%3D&request=yes&_f=.png

QQ截图20150117133623.png (11.06 KB, 下载次数: 13)

QQ截图20150117133623.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9275
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2015-1-17 13:34:56 | 只看该作者
超音速 发表于 2015-1-16 20:32
https://rpg.blue/forum.php?mod=attachment&aid=MjcxMDc0fDcxM2NiYjAxMTBjZDY0YjE3MWY2OWU0YjczYjljMGNlfDE3MTM2Mjk4NjM%3D&request=yes&_f=.png

因为你少一个图片文件,放到Graphics\System里面
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
21896
在线时间
8559 小时
注册时间
2011-12-31
帖子
3361
7
发表于 2015-1-17 17:23:18 | 只看该作者
本帖最后由 tseyik 于 2015-1-17 17:30 编辑

与木星ペンギン的迷你地圖(+迷你地圖増強)併用





点评

範例在十楼  发表于 2015-1-19 14:41
饭粒=範例  发表于 2015-1-18 08:19
饭粒是什麼?  发表于 2015-1-17 22:19
= = 饭粒呢?  发表于 2015-1-17 21:26
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
20915
在线时间
9331 小时
注册时间
2012-6-19
帖子
7105

开拓者短篇九导演组冠军

8
发表于 2015-1-17 20:54:11 | 只看该作者
我的做法是直接用显示图片功能显示了下面这张图片

Mask.png (40.14 KB, 下载次数: 38)

Mask.png

点评

神速发卡……  发表于 2015-1-17 20:56

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 233

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6343
在线时间
913 小时
注册时间
2006-7-18
帖子
504
9
发表于 2015-1-17 22:03:55 | 只看该作者
显示图片的方式最简单了吧?可以省掉写脚本的麻烦事!
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
10
发表于 2015-1-18 07:50:45 | 只看该作者
使用一张透析的黑白图片叠加 显示就好了
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-21 00:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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