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

Project1

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

[已经解决] 请问Interpreter的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4169
在线时间
258 小时
注册时间
2013-10-13
帖子
815
跳转到指定楼层
1
发表于 2014-11-3 19:33:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  def initialize(depth = 0, main = false)
    @depth = depth
    @Main = main
    # 深度超过 100 级
    if depth > 1
      print("调用公用事件超过了限制。")
      exit
    end
    # 清除注释器的内部状态
    clear
  end
  def clear
    @map_id = 0                       # 启动时的地图 ID
    @event_id = 0                     # 事件 ID
    @message_waiting = false          # 信息结束后待机中
    @move_route_waiting = false       # 移动结束后待机中
    @button_input_variable_id = 0     # 输入按钮 变量 ID
    @wait_count = 0                   # 窗口计数
    @child_interpreter = nil          # 子实例
    @branch = {}                      # 分支数据
  end
1,我把 if depth > 100改 if depth > 1,再设定公共事件为5个,进入游戏调用的时候,为什么游戏不提示?
2,@depth = depth和@main = main两个量被初师化为0和假,意思是什么?
3,我把@map_id = 0 改@map_id = 100的话,也不影响游戏效果,为什么这个量会没效果?

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2014-11-3 19:55:57 | 只看该作者
1.depth的含义是调用深度而非事件个数,比方说公共事件1调用2,2调用3……你可以按照这种方式试验一下,会提示信息。
这样做是为了避免调用堆栈过深而导致溢出。
2.main的含义是该解释器是否是主解释器。可以查一下,好像只有地图上的解释器是主要的解释器。基本都是通过它来调用其他事件。这个和地图上NPC对话完毕后NPC会保留原始朝向的功能有关。
3.clear只是默认值设定,它的效果取决于@map_id = 0时有无特殊含义。在这里@map_id=0没什么特殊含义,只是为了保证初始化的时候它不会是nil而已。所以改成别的自然也没区别。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-22 14:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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