Project1
标题:
【VA】如何使玩家的视野到不了地图的某些区域?
[打印本页]
作者:
sansy
时间:
2019-8-12 16:23
标题:
【VA】如何使玩家的视野到不了地图的某些区域?
本帖最后由 VIPArcher 于 2019-8-15 00:43 编辑
如题,例如一个30x30的地图,我想让玩家的视野(即RM窗口大小范围)只能在28x28里移动,而周围的2格宽的位置可以安放事件之类的东西。
这样子具体想要的效果是:
1.当玩家走到28x28的边缘时就像是到了整个地图的边缘一样,镜头停止向外移动。
2.可以做出事件走出了这张地图的效果,而同时玩家也可以自由移动,不需要用剧情的方式固定玩家位置来做到。
事件在视野外运作的问题已经解决,现在就只有这个问题了。
拜托各位大大了~
作者:
gqxastg
时间:
2019-8-12 16:23
本帖最后由 gqxastg 于 2019-8-13 00:43 编辑
虽然楼上也给出了另一种解法
这里还是按照楼主要求写了这么一个限制视野的脚本
默认所有非循环地图的四周一列/行(即横纵坐标为0和最大的格子)
正常手段屏幕不会卷动到 玩家无法看到
如果只有横向循环或纵向循环 则不循环的方向两侧也会留一列/行无法看到的格子
脚本
[line]3[/line]
8/13 追加可以单独配置每张地图四周隐藏格数的机能
脚本
作者:
黄亦天
时间:
2019-8-12 18:05
本帖最后由 黄亦天 于 2019-8-12 18:23 编辑
事件走出地图外 一般的做法是走到地图边缘之后 然后设置事件行走图为透明 或者可以设计几个透明度来做个渐变效果
如果要执行某些内容 在透明的事件页放上并行/自动 执行的内容 其实也差不多了 或者可以用公共事件来执行
如果是倒过来用 可以先在不影响通行的位置设置一个透明的事件 在需要的时候 设置它的位置 然后设置它的行走图 再设置这个事件的行为
如果一定要事件走出去 还有个在框架内的暴力解决的方法就是 把行走图做成逐帧走出地图的图像【
以上就是一些利用原版性能做到的可以实现想要的效果的投机取巧的手法 都是在28×28的地图的情况下实现的
其实并不需要把地图做大然后限制玩家范围 让事件挪出地图外也是可行的
如果非要事件走出地图 稍微有点麻烦 非要扩大地图和限制玩家区域 其实更麻烦
如果要设置事件一定在地图外
Game_CharacterBase
#--------------------------------------------------------------------------
# ● 移动到指定位置
#--------------------------------------------------------------------------
def moveto(x, y)
@x = x# % $game_map.width
@y = y# % $game_map.height
@real_x = @x
@real_y = @y
@prelock_direction = 0
straighten
update_bush_depth
end
复制代码
这里某两行后面的内容像这样注释掉 就可以把事件的XY设置成负数 放到地图外
如果要走出地图外的话
return false unless $game_map.valid?(x2, y2)
复制代码
这行 用# 注释掉
就可以出地图了
[line]1[/line]
我猜是你想让事件走出地图外 就试着做了 发现事件走不出去 然后就试着扩大地图让事件走出去 但是出现了玩家移动的时候会看到“黑边” 所以就想消除黑边所以才问了这个问题
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1