赞 | 45 |
VIP | 0 |
好人卡 | 0 |
积分 | 146 |
经验 | 0 |
最后登录 | 2024-11-27 |
在线时间 | 2197 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 14626
- 在线时间
- 2197 小时
- 注册时间
- 2019-1-24
- 帖子
- 1123
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 miantouchi 于 2019-3-9 17:39 编辑
我的依据:
第一:super 将调用被当前方法覆盖的父类中的同名方法
第二:继承关系,Window_Command < Window_Selectable < Window_Base < Window
第三:self当前方法的执行对象本身。注:太抽象了,我根本理解不来,self你到底是谁?
不知道我理解的过程对不对,大家帮我看看
首先class Scene_Menu这个类里面下面这句
第一步:@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
实例化Window_Command这个类,实例是@command_window,同时传递,宽:160,和数组元素S1-S6。
第二步:紧接着跳转到Window_Command类的界面进入initialize(width, commands)
方法中执行super(0, 0, width, commands.size * 32 + 32)
第三步:接着跳转到Window_Selectable类initialize(x, y, width, height)
方法中执行super(x, y, width, height)
第四步:再跳转到Window_Base类的界面initialize(x, y, width, height)
方法中执行super()
第五步:最后跳转到Window类,执行initialize方法
问题1:但是我发现F1里面Window类并没有initialize方法,那Window_Base 当中的super()到底调用谁呢?
问题2:我这么想是不是很绕,例如儿子找爸爸,爸爸找爷爷,爷爷找太爷爷.......
问题3:这段不是实际代码,就是我的思维图
第二步:Window_Command类的界面进入initialize(width=160, commands = [s1, s2, s3, s4, s5, s6])
super(0, 0, 160, 6 * 32 + 32)
第三步:接着跳转到Window_Selectable类initialize(0, 0,160,6 * 32 + 32)
super(0, 0,160,6 * 32 + 32)
第四步:再跳转到Window_Base类的界面initialize(0, 0,16,6 * 32 + 32)
self.x = 0
self.y = 0
self.width = 160
self.height = 6 * 32 + 32
是这个过程吗?赋值给Window类x,y,width,height
我只能分析各4步,接下来就不清楚了,self起到什么作用呢?欢迎大家接着分析下去,看看我前几步分析的有没有问题。 |
-
1.png
(65.17 KB, 下载次数: 21)
-
2.png
(65.68 KB, 下载次数: 16)
-
3.png
(64.98 KB, 下载次数: 17)
-
4.png
(64.99 KB, 下载次数: 13)
-
流程图.png
(76.05 KB, 下载次数: 15)
|