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

Project1

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

[已经解决] 事件里能调用DEF里的内容么?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
跳转到指定楼层
1
发表于 2009-11-25 09:45:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在Scene_Map里添加了下面这一段:想问一下,如果把attack直接放到事件或者公共事件里,能调用def attack里的内容么?
  1. def attack
  2. 。。。。。。
  3. 。。。。。。
  4. 。。。
  5. end
复制代码

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
2
发表于 2009-11-25 10:00:57 | 只看该作者
在什么环境定义的就通过这个环境(命名空间)的引用来调用方法,这里你是在 Scene_Map 中定义的实例方法,所以当前场景是地图的时候就可以通过 $scene.attack 来调用~
其实如果你是想在事件中随时能调用,把方法定义放到 Interpreter 中就行了,因为事件脚本解释时,其上下文正好是在 Interpreter 的实例上下文环境中
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
231 小时
注册时间
2007-12-17
帖子
541
3
 楼主| 发表于 2009-11-25 10:12:42 | 只看该作者
本帖最后由 stella 于 2009-11-25 10:21 编辑

因为做的是ARPG,只想在地图上调用。我试了一下,似乎只写attack也有效?
DEF里定义的是把武器里一些属性的转化为变量,然后累加到公共事件的伤害处理中。。。我把命中的伤害判断都做到公共事件里了,只想在命中的时候调用,因为这里面的东西太影响游戏速度,这样的话命中结束后会释放么?也就是说公共事件结束就不调用了??
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
4
发表于 2009-11-25 11:12:25 | 只看该作者
如果直接在顶层写 attack,那么它其实是属于 Object 的实例上下文环境,而任何 Ruby 上下文都是 Object 上下文的子环境,所以你可以直接不指定任何接受者调用 attack;如果是在事件脚本中定义 attack,那其环境还是在 Interpreter 中(因为调用 eval 解释脚本时环境是 Interpreter),也就是说你在其它事件中同样可以调用,并不会释放
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 12:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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