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

Project1

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

图文更新-很难的事件坐标判断[300分]

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-23
帖子
619
11
 楼主| 发表于 2009-4-6 01:14:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-23
帖子
619
12
 楼主| 发表于 2009-4-6 05:10:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
13
发表于 2009-4-6 10:58:56 | 只看该作者
事件中这样用:
visionTo(11) 判断角色能否看到 11 号事件
visionTo(4, 6) 判断六号事件是否能看到 4 号事件

class Interpreter

  # --------------------------------
  # eventID: 目标事件的 ID
  # this   : 从什么 ID 的事件判断视线,不传值则默认为角色本身
  # ---------------------------------
  def visionTo(eventID, this = -1)
    dest = $game_map.events[eventID]
    src = this == -1 ? $game_player : $game_map.events[this]
    return true if dest.x == src.x and dest.y == src.y
    if dest.x == src.x
      range = dest.y < src.y ? (dest.y + 1)...src.y : (src.y + 1)...dest.y
      for i in range
        event = $game_map.events[$game_map.check_event(dest.x, i)]
        return false if event != nil && !event.through
        return false if !$game_map.passable?(dest.x, i, 0)
      end
      return dest.y > src.y && src.direction == 2 ||
        dest.y < src.y && src.direction == 8
    elsif dest.y == src.y
      range = dest.x < src.x ? (dest.x + 1)...src.x : (src.x + 1)...dest.x
      for i in range
        event = $game_map.events[$game_map.check_event(i, dest.y)]
        return false if event != nil and !event.through
        return false if !$game_map.passable?(i, dest.y, 0)
      end
      return dest.x > src.x && src.direction == 6 ||
        dest.x < src.x && src.direction == 4
    else
      return false
    end
  end

end


上面这个脚本判断的是图块是否四方向都不能通行,如果有一个方向可通行也算能看见,如果需要修改可以给$game_map.passable? 的最后一个参数传递不同的值判断不同的通行方向~
  #     d          : 方向 (0,2,4,6,8,10)
  #                  ※ 0,10 = 全方向不能通行的情况的判定 (跳跃等)
  #     self_event : 自己 (判定事件可以通行的情况下)

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-16 11:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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