赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
74 行加一个 end,94-96 行任选一个 end 删之
由于 74 行没有 end,整个后面的过程都是在 Scene_Map#start 内部进行的,本来应该是重写实例方法 update 的过程也成了定义局部方法 update。在 Scene_Map#start 第一次调用、第一次 alias old_update update 时,由于局部方法 update 还没有定义,所以 alias 的是实例方法 Scene_Map#update;在 Scene_Map#start 第二次调用后,由于先前定义的局部方法 update 已经存在于 Scene_Map 的实例上下文中,所以第二次 alias 后 update_old 变成了之前定义的局部方法 update;而之前的局部方法 update 又会去调用 update_old,只是现在 update_old 已经变成了这个局部方法本身,于是产生了没有出口的递归,最终会抛出 SystemStackError 的异常 |
评分
-
查看全部评分
|