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

Project1

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

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

[复制链接]

Lv5.捕梦者 (版主)

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

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

跳转到指定楼层
1
发表于 2013-3-31 20:32:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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


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

Lv3.寻梦者

双子人

梦石
0
星屑
3185
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 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
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

贵宾

3
发表于 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
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

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

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

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

脚本里找 ★

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

回复 支持 反对

使用道具 举报

Lv2.观梦者

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

贵宾

5
发表于 2013-4-1 18:16:00 | 只看该作者
美丽晨露 发表于 2013-4-1 17:54
谢谢前辈
但是还是远景的问题?
这样做的话

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

使用道具 举报

Lv5.捕梦者 (版主)

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

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

6
 楼主| 发表于 2013-4-1 18:40:15 | 只看该作者
亿万星辰 发表于 2013-4-1 18:16
那就做成图块算了~反正通行什么的都没必要设置

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

回复 支持 反对

使用道具 举报

Lv2.观梦者

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

贵宾

7
发表于 2013-4-1 19:35:17 | 只看该作者
其实直接把远景裁剪成图块也是可以的,不必考虑图块的绘制,直接一条一条的裁剪开即可。

评分

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

查看全部评分

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

使用道具 举报

Lv5.捕梦者 (版主)

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

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

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

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 11:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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