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

Project1

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

[已经解决] 【VA】如何使玩家的视野到不了地图的某些区域?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1352
在线时间
101 小时
注册时间
2019-3-2
帖子
33
跳转到指定楼层
1
发表于 2019-8-12 16:23:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
60星屑
本帖最后由 VIPArcher 于 2019-8-15 00:43 编辑

如题,例如一个30x30的地图,我想让玩家的视野(即RM窗口大小范围)只能在28x28里移动,而周围的2格宽的位置可以安放事件之类的东西。
这样子具体想要的效果是:
1.当玩家走到28x28的边缘时就像是到了整个地图的边缘一样,镜头停止向外移动。
2.可以做出事件走出了这张地图的效果,而同时玩家也可以自由移动,不需要用剧情的方式固定玩家位置来做到。
事件在视野外运作的问题已经解决,现在就只有这个问题了。
拜托各位大大了~

最佳答案

查看完整内容

虽然楼上也给出了另一种解法 这里还是按照楼主要求写了这么一个限制视野的脚本 默认所有非循环地图的四周一列/行(即横纵坐标为0和最大的格子) 正常手段屏幕不会卷动到 玩家无法看到 如果只有横向循环或纵向循环 则不循环的方向两侧也会留一列/行无法看到的格子 [fold=脚本]#============================================================================== # ■ Game_Map #================================================== ...

Lv4.逐梦者

梦石
0
星屑
14767
在线时间
5839 小时
注册时间
2011-7-18
帖子
159

开拓者

2
发表于 2019-8-12 16:23:50 | 只看该作者
本帖最后由 gqxastg 于 2019-8-13 00:43 编辑

虽然楼上也给出了另一种解法
这里还是按照楼主要求写了这么一个限制视野的脚本
默认所有非循环地图的四周一列/行(即横纵坐标为0和最大的格子)
正常手段屏幕不会卷动到 玩家无法看到
如果只有横向循环或纵向循环 则不循环的方向两侧也会留一列/行无法看到的格子
脚本



8/13 追加可以单独配置每张地图四周隐藏格数的机能
脚本

评分

参与人数 3星屑 +50 +2 收起 理由
Cupidk爱呗茶 + 1 塞糖
VIPArcher + 50 认可答案
sansy + 1 认可答案

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4397
在线时间
1910 小时
注册时间
2010-12-21
帖子
2365
3
发表于 2019-8-12 18:05:13 | 只看该作者
本帖最后由 黄亦天 于 2019-8-12 18:23 编辑

事件走出地图外 一般的做法是走到地图边缘之后 然后设置事件行走图为透明 或者可以设计几个透明度来做个渐变效果
如果要执行某些内容 在透明的事件页放上并行/自动 执行的内容 其实也差不多了 或者可以用公共事件来执行

如果是倒过来用 可以先在不影响通行的位置设置一个透明的事件 在需要的时候 设置它的位置 然后设置它的行走图 再设置这个事件的行为

如果一定要事件走出去 还有个在框架内的暴力解决的方法就是 把行走图做成逐帧走出地图的图像【

以上就是一些利用原版性能做到的可以实现想要的效果的投机取巧的手法 都是在28×28的地图的情况下实现的

其实并不需要把地图做大然后限制玩家范围 让事件挪出地图外也是可行的
如果非要事件走出地图 稍微有点麻烦 非要扩大地图和限制玩家区域 其实更麻烦

如果要设置事件一定在地图外

Game_CharacterBase
  1. #--------------------------------------------------------------------------
  2.   # ● 移动到指定位置
  3.   #--------------------------------------------------------------------------
  4.   def moveto(x, y)
  5.     @x = x# % $game_map.width
  6.     @y = y# % $game_map.height
  7.     @real_x = @x
  8.     @real_y = @y
  9.     @prelock_direction = 0
  10.     straighten
  11.     update_bush_depth
  12.   end
复制代码



这里某两行后面的内容像这样注释掉 就可以把事件的XY设置成负数 放到地图外

如果要走出地图外的话

   
  1. return false unless $game_map.valid?(x2, y2)
复制代码

这行 用# 注释掉

就可以出地图了




我猜是你想让事件走出地图外 就试着做了 发现事件走不出去 然后就试着扩大地图让事件走出去 但是出现了玩家移动的时候会看到“黑边” 所以就想消除黑边所以才问了这个问题
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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