Project1

标题: 如何判定优先级别 [打印本页]

作者: 泡面之侠    时间: 2007-6-22 01:32
标题: 如何判定优先级别
如题,想知道判定事件所在图块优先级别的办法,请各位高手帮一帮在下,拜谢了~~~ [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 泡面之侠    时间: 2007-6-22 01:32
标题: 如何判定优先级别
如题,想知道判定事件所在图块优先级别的办法,请各位高手帮一帮在下,拜谢了~~~ [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 闪电    时间: 2007-6-22 01:41
某个事件的优先级总是大于地图地形图块的
如果是地图图块的优先级,在图块里面可以设置,1最高5最低
作者: 泡面之侠    时间: 2007-6-22 01:49
抱歉我问的问题不是这么简单的,我的意思是在游戏运行时用事件中的条件分歧判断事件所处优先级别的问题。虽然我知道这不太可能,因为地图分三个图层,每个图层的优先级别都不一顶相同。
作者: MogStar    时间: 2007-6-22 02:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 泡面之侠    时间: 2007-6-22 06:15
@map.data[x, y, z] 获得某个坐标的图块ID

“z”是指什么?指土块所在的层次吗?那么具体第一层次为多少?图块的ID怎么个算法?是横着这样数过去吗?
作者: 精灵使者    时间: 2007-6-22 06:31
参考此帖。直接在事件中引用。
http://rpg.blue/web/htm/news248.htm
作者: 泡面之侠    时间: 2007-6-22 21:23
@map.data[x, y, z] 获得某个坐标的图块ID

不过,以上那个“z”到底是指什么呢?
作者: 幻の飞鱼    时间: 2007-6-22 21:25
我大概猜到LZ要做什么的

可以不用优先级别,用地形标志更方便

如果一定是和优先有关系的话,那你把地形标志设置成和优先一样的数值,再用下面这方法

比如要判断该地图事件003所在位置的地形标志是否等与1,那就是

if $game_map.events[3].terrain_tag == 1

要判断,地图坐标X,Y处的地形标志,那就是

$game_map.terrain_tag(x, y)
作者: 泡面之侠    时间: 2007-6-22 21:36
是个好主意!

不过,地图一共有三个图层,这样在运行的时候怎么知道所在位置的的地形标志呢?

老实说~~~~地形标志到底有什么用我都记不清了~~

还有~~~可以修改地形标志的上限吗?
作者: MogStar    时间: 2007-6-22 21:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 幻の飞鱼    时间: 2007-6-22 21:43
额,这个,没考虑过啊,一般我3个层里,就只有一个层有地形标志,从这个方法来看
  def terrain_tag(x, y)
    if @map_id != 0
      for i in [2, 1, 0]
        tile_id = data[x, y, i]
        if tile_id == nil
          return 0
        elsif @terrain_tags[tile_id] > 0
          return @terrain_tags[tile_id]
        end
      end
    end
    return 0
  end

  1.       for i in [2, 1, 0]
  2.         tile_id = data[x, y, i]
  3.         if tile_id == nil
  4.           return 0
  5.         elsif @terrain_tags[tile_id] > 0
  6.           return @terrain_tags[tile_id]
  7.         end
  8.       end
复制代码


这句,似乎是3层,先从第3层开始,- -|
作者: 泡面之侠    时间: 2007-6-22 21:46
非常感谢~~~~

可否顺便说一下~~再哪修改地形标志的上限~~

(现在大家每人都帮我解决了一些问题,我都不知到该认可谁的答案了~~~{/cy})
作者: 幻の飞鱼    时间: 2007-6-22 21:49
我这样认为
在Game_Map里
把attr_reader   :terrain_tags

改为attr_accessor :terrain_tags

然后就可以用脚本修改具体数值为7啊8啊,更多了

如果想在RMXP软件里显示出更多的数来,似乎除了破壳改软件。没有好办法
作者: 泡面之侠    时间: 2007-6-22 22:05
原来如此~~~~

不过,将attr_reader   :terrain_tags改为attr_accessor :terrain_tags这个动作会影响到原先地图标志的读取吗?

作者: 幻の飞鱼    时间: 2007-6-22 22:08
不会,是把只读,改成了可读可写

这个我也是以前在6R学到的- -以前也搞不明白是个啥
作者: 泡面之侠    时间: 2007-6-22 22:13
多谢~~~~既然如此~~不如把所有的attr_reader   :terrain_tags改为attr_accessor :terrain_tags好了~~~~{/kuk}
作者: 幻の飞鱼    时间: 2007-6-22 22:15
这个…………改了似乎不影响什么

但很多只读就可以了吧,除非有特殊需要

我不知道改了会有什么不好- -我只知道没必要也~ [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 泡面之侠    时间: 2007-6-22 22:18
没办法认可多楼的答案~~只好认可最后一楼的凑合一下吧~~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1