查看: 2301|回复: 7

[已经解决] 请问如何让事件穿过地图顶端?

[复制链接]
梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

发表于 2013-3-31 20:32:31 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 美丽晨露 于 2013-4-1 19:56 编辑

设定移动事件时,事件走到地图顶端时就不会再走了。
而我就是用事件作弹幕,结果事件就卡在地图的边边了。
测试.png

请问如何让事件穿过地图边缘?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

发表于 2013-3-31 21:01:23 | 显示全部楼层
  1. class Scene_Map
  2.   #--------------------------------------------------------------------------
  3.   # ● 可以通行判定
  4.   #     x          : X 坐标
  5.   #     y          : Y 坐标
  6.   #     d          : 方向 (0,2,4,6,8,10)
  7.   #                  ※ 0,10 = 全方向不能通行的情况的判定 (跳跃等)
  8.   #     self_event : 自己 (判定事件可以通行的情况下)
  9.   #--------------------------------------------------------------------------
  10.   def passable?(x, y, d, self_event = nil)
  11.     if self_event.name == "子弹"
  12.       return true
  13.     end
  14.     # 被给予的坐标地图外的情况下
  15.     unless valid?(x, y)
  16.       # 不能通行
  17.       return false
  18.     end
  19.     # 方向 (0,2,4,6,8,10) 与障碍物接触 (0,1,2,4,8,0) 后变换
  20.     bit = (1 << (d / 2 - 1)) & 0x0f
  21.     # 循环全部的事件
  22.     for event in events.values
  23.       # 自己以外的元件与坐标相同的情况
  24.       if event.tile_id >= 0 and event != self_event and
  25.          event.x == x and event.y == y and not event.through
  26.         # 如果障碍物的接触被设置的情况下
  27.         if @passages[event.tile_id] & bit != 0
  28.           # 不能通行
  29.           return false
  30.         # 如果全方向的障碍物的接触被设置的情况下
  31.         elsif @passages[event.tile_id] & 0x0f == 0x0f
  32.           # 不能通行
  33.           return false
  34.         # 这以外的优先度为 0 的情况下
  35.         elsif @priorities[event.tile_id] == 0
  36.           # 可以通行
  37.           return true
  38.         end
  39.       end
  40.     end
  41.     # 从层按从上到下的顺序调查循环
  42.     for i in [2, 1, 0]
  43.       # 取得元件 ID
  44.       tile_id = data[x, y, i]
  45.       # 取得元件 ID 失败
  46.       if tile_id == nil
  47.         # 不能通行
  48.         return false
  49.       # 如果障碍物的接触被设置的情况下
  50.       elsif @passages[tile_id] & bit != 0
  51.         # 不能通行
  52.         return false
  53.       # 如果全方向的障碍物的接触被设置的情况下
  54.       elsif @passages[tile_id] & 0x0f == 0x0f
  55.         # 不能通行
  56.         return false
  57.       # 这以外的优先度为 0 的情况下
  58.       elsif @priorities[tile_id] == 0
  59.         # 可以通行
  60.         return true
  61.       end
  62.     end
  63.     # 可以通行
  64.     return true
  65.   end
  66. end
复制代码
将“子弹”改成别的名字。

点评

不好意思,不奏效啊。  发表于 2013-3-31 21:22
正在看弹幕工程中·······  发表于 2013-3-31 21:11
出屏幕~~~,那不是到桌面上去咯,,呃~~~,汗!  发表于 2013-3-31 21:08
LZ的意思是要走出屏幕……  发表于 2013-3-31 21:06
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-3-31 21:07:16 | 显示全部楼层
本帖最后由 亿万星辰 于 2013-4-1 12:49 编辑

把地图上下各放大一格就可以设法解决了么……

脚本里找 ★

Project1.rar

182.81 KB, 下载次数: 16

点评

答应给你看的范例  发表于 2013-4-1 12:49
嗯嗯,谢谢您。不好意思麻烦您那么多啊。  发表于 2013-3-31 23:08
这个啊。。。那就设法用脚本限制住屏幕的垂直方向的滚动好了~自己能实现的话试试看,不行了明天再做个工程  发表于 2013-3-31 23:06
这种方法我也想过的,可是远景背景图会移动的说。  发表于 2013-3-31 23:03
图块不可通行,子弹事件可以穿透  发表于 2013-3-31 22:46
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

 楼主| 发表于 2013-4-1 17:54:02 | 显示全部楼层
亿万星辰 发表于 2013-3-31 21:07
把地图上下各放大一格就可以设法解决了么……

脚本里找 ★

谢谢前辈
但是还是远景的问题?
这样做的话
640*480的远景图会被切割的
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-4-1 18:16:00 | 显示全部楼层
美丽晨露 发表于 2013-4-1 17:54
谢谢前辈
但是还是远景的问题?
这样做的话

那就做成图块算了~反正通行什么的都没必要设置
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

 楼主| 发表于 2013-4-1 18:40:15 | 显示全部楼层
亿万星辰 发表于 2013-4-1 18:16
那就做成图块算了~反正通行什么的都没必要设置

是将远景做成图块?
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2013-4-1 19:35:17 | 显示全部楼层
其实直接把远景裁剪成图块也是可以的,不必考虑图块的绘制,直接一条一条的裁剪开即可。

评分

参与人数 1梦石 +1 收起 理由
hcm + 1 认可答案

查看全部评分

我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
回帖
10960

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

 楼主| 发表于 2013-4-1 19:56:24 | 显示全部楼层
亿万星辰 发表于 2013-4-1 19:35
其实直接把远景裁剪成图块也是可以的,不必考虑图块的绘制,直接一条一条的裁剪开即可。 ...

虽然很麻烦
但是的确可以做到的
谢谢
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部