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

Project1

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

请问怎么得到当前地图的事件总数

 关闭 [复制链接]

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1707
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

11
发表于 2007-6-30 21:49:09 | 只看该作者
# 设置地图事件数据
    @events = {}
    for i in @map.events.keys
      @events = Game_Event.new(@map_id, @map.events)
    end
  #--------------------------------------------------------------------------
  # ● 获取指定位置的事件 ID
  #     x          : X 坐标
  #     y          : Y 坐标
  #--------------------------------------------------------------------------
  def check_event(x, y)
    for event in $game_map.events.values
      if event.x == x and event.y == y
        return event.id
      end
    end
  end

用这个? 直接调用check_event获取事件id?这个应该可行。
p.s.今天在不讨论的话悬赏明天就要结束LIAO……
另外。map.event.keys好像里面定义了所有的事件……如果直接用上边的读取部分的话应该能获得这个地图的所有的事件吧。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2006-2-10
帖子
176
12
 楼主| 发表于 2007-6-30 21:55:30 | 只看该作者
好像不是,是给你一张地图,直接得到他的最大事件id。不是指定位置的事件id
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1707
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

13
发表于 2007-6-30 22:03:34 | 只看该作者
使用双循环遍搜地图上每一个坐标,然后把返回值代入一个变量。如果这个变量里的值比返回值小则不予代入(提示:使用max)。
如果是事件个数的话……可以让一个变量+1。最后返回事件的个数。
基本的算法就是这样吧。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
17 小时
注册时间
2006-2-10
帖子
176
14
 楼主| 发表于 2007-6-30 22:05:07 | 只看该作者
我现在就是这样算的,可是效率太慢了,需要一个更快速的算法
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1707
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

15
发表于 2007-6-30 22:06:48 | 只看该作者
中间的循环里如果没有事件的话直接空循环过去……会减少些计算量。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
16
发表于 2007-6-30 23:18:22 | 只看该作者
如果你做事件的时候没有删掉一些,又补一些的话就比较好算了- -||
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1707
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

17
发表于 2007-6-30 23:52:49 | 只看该作者
以下引用幻の飞鱼于2007-6-30 15:18:22的发言:

如果你做事件的时候没有删掉一些,又补一些的话就比较好算了- -||

可惜在我的游戏里是很经常的事- -
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-9-21 15:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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