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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: stella
打印 上一主题 下一主题

有没有专门的脚本是判断事件到达地图边界的?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
54 小时
注册时间
2008-5-12
帖子
129
11
发表于 2009-5-18 15:11:18 | 只看该作者
其實這樣才是最快的
class Interpreter
def is_in_verge?(x, y)
   if x == 0 or y == 0 or x == $game_map.width - 1 or y == $game_map.height - 1
     return true
   end
   return false
end
end
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
你是個好人>////<
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
12
 楼主| 发表于 2009-5-18 17:04:57 | 只看该作者
Interpreter 有1234567,写在哪个里面啊? 事件脚本的调用怎么写?我只希望所有地图里名为EV003的事件有这个判断。。。在每张地图的EV003事件中直接写成下面这样?

if x == 0 or x == $game_map.width - 1
本事件的坐标等于主角的坐标?





其实就是角色发射子弹的判断啦~~{/gg}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

13
发表于 2009-5-18 17:24:44 | 只看该作者
只判断一个事件大可不用那个函数,直接在条件分歧的脚本中写:

$game_map.events[3].x == 0 || $game_map.events[3].x == $game_map.width - 1 || $game_map.events[3].y == 0 || $game_map.events[3].y == $game_map.height - 1

条件分歧之下即3号事件在边界上。
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
14
 楼主| 发表于 2009-5-18 17:37:04 | 只看该作者
如果地图很多的话,能不能不用在每张地图的事件里并行判断,只在脚本编辑器里写好就可以了呢?因为所有地图中的三号事件都是子弹,当判断到三号事件到达版边界就自动回到主角坐标
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
15
发表于 2009-5-18 18:12:18 | 只看该作者
那可以在 Game_Map 的 update 中判断,插入 Main 之前就行了:
class Game_Map
  alias update_old update if !method_defined? :update_old
  def update
    update_old
    if @events[3] && @events[3].x == 0 ||
      @events[3].x == $game_map.width - 1 ||
      @events[3].y == 0 ||
      @events[3].y == $game_map.height - 1
      @events[3].moveto($game_player.x, $game_player.y)
    end
  end
end
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 06:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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