Project1
标题:
请教一个新建的类同时继承另外2个类的方法
[打印本页]
作者:
taeckle
时间:
2020-5-26 18:30
标题:
请教一个新建的类同时继承另外2个类的方法
我想新建一个类Class ABC,咱想让这个类既能继承class Game_Actor 也能继承 class Window_Selectable,
(如果只继承一个类可以写成class ABC < Window_Selectable或class ABC < Game_Actor,这个知识点咱知道)
继承过后咱是希望
类class Game_Actor 和 类class Window_Selectable里面的类变量(前面带@的)都可以直接拿到class ABC 里使用
。
还请诸位指点一二,多谢了!
作者:
chanszeman1018
时间:
2020-5-26 18:39
提示:
作者被禁止或删除 内容自动屏蔽
作者:
guoxiaomi
时间:
2020-5-31 19:02
想了想,还是不建议使用多继承。你可以参考Sprite_Battler的实现,它就绑定了一个Game_Battler对象在内部使用。
作者:
KB.Driver
时间:
2020-5-31 19:36
本帖最后由 KB.Driver 于 2020-5-31 19:37 编辑
建议使用“内含并转发”,而不是继承
什么是继承?
Sprite_Character < Sprite_Base 这种就是
什么是内含并转发?
Game_Variables里面包含一个数组变量@data,并且通过定义[]与[]=方法,
再把执行内容转发给@data来完成,从而将自己伪造成一个有部分数组功能的类。
你说的这种情况,可以将类继承自Window_Selectable,
然后再在内部使用Game_Actor的实例,并把Game_Actor的方法转发给这个实例来完成。
最后抓个虫,名字前面是一个@符号的叫实例变量,两个@符号的才是类变量。
作者:
RPGzh500223
时间:
2020-7-8 08:03
继承的方法我不清楚
不过你举例的问题 参考RMXP里Window_Skill不就可以了
Window_Skill是Window_Selectable的子类
Window_Skill的参数actor在Scene_Skill中 @actor = $game_party.actors[@actor_index]
Game_Party中角色来自Game_Actors
Game_Actors基本就是Game_Actor 这是不是如4楼说的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1