赞 | 16 |
VIP | 63 |
好人卡 | 13 |
积分 | 44 |
经验 | 33364 |
最后登录 | 2024-11-13 |
在线时间 | 1910 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 4397
- 在线时间
- 1910 小时
- 注册时间
- 2010-12-21
- 帖子
- 2365
|
本帖最后由 黄亦天 于 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)
复制代码
这行 用# 注释掉
就可以出地图了
我猜是你想让事件走出地图外 就试着做了 发现事件走不出去 然后就试着扩大地图让事件走出去 但是出现了玩家移动的时候会看到“黑边” 所以就想消除黑边所以才问了这个问题 |
|