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

Project1

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

[已经解决] 类的继承问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2011-8-6
帖子
10
跳转到指定楼层
1
发表于 2014-8-17 10:56:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在Game_Battler中添加了一个属性mx,并在初始化对象的时候将@mx赋值为0,为什么在Game_Actor中的值还是为nil呢?而在Game_Enemy中的值为0,这是怎么回事呢?

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

2
发表于 2014-8-17 11:05:43 | 只看该作者
经测试,未发现楼主所说的问题
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2011-8-6
帖子
10
3
 楼主| 发表于 2014-8-17 11:17:40 | 只看该作者
myownroc 发表于 2014-8-17 11:05
经测试,未发现楼主所说的问题

我用新工程测试也没问题,可是我的工程已经修改了好多,我也不知道到底是哪一部分出现了问题,请问有哪些可能会导致变量变为了nil呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

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

开拓者贵宾剧作品鉴家

4
发表于 2014-8-17 11:47:30 | 只看该作者
可能出现此问题的原因:
1.initialize被反复定义,导致有些实变量没有被初始化。
解决方法:利用alias进行别名处理,或者搜索所有initialize的定义,进行修改即可。
2.在进行游戏当中,如果利用了之前未加入新属性的Game_Battler定义生成了一个Game_Actor对象,那么在追加属性后,依然用之前生成的这个对象,那么新属性的值为nil。Game_Enemy对象由于不是保存的而是实时生成的,因此不会出现问题,但是Game_Actor对象要保存在存档中,所以新属性的值不予以初始化。
解决方法:放弃存档重新开一个新游戏。或者在需要访问新属性的地方,加一句@mx = 0 if @mx == nil进行临时初始化即可。

评分

参与人数 1星屑 +120 收起 理由
myownroc + 120 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

5
发表于 2014-8-17 11:48:21 | 只看该作者
136667 发表于 2014-8-17 11:17
我用新工程测试也没问题,可是我的工程已经修改了好多,我也不知道到底是哪一部分出现了问题,请问有哪些 ...

建议上传工程
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
39 小时
注册时间
2011-8-6
帖子
10
6
 楼主| 发表于 2014-8-17 11:54:19 | 只看该作者
RyanBern 发表于 2014-8-17 11:47
可能出现此问题的原因:
1.initialize被反复定义,导致有些实变量没有被初始化。
解决方法:利用alias进行 ...

十分感谢,已经解决了,确实是存档的问题,重开之后就没有这样的问题了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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