[]Morn UI创建皮肤时的基类能自定义吗?不要View或者Dialog

layaAir ide中,不想让一个界面的基类是一个皮肤。比如一个窗口,我想让他继承某个组件,而不是一个皮肤。而皮肤只作为这个窗口的属性。但现在皮肤继承的就是显示对象,TS和AS又都是不支持多继承的。
那么问题来了,皮肤的基类是不是可以自定义?
 
一个游戏,很多时候需要做成具有通用行为的组件,而皮肤则需求不同,变化各异。
OO编程思想中,继承表达的是我是一个什么,而成员属性,表达的是我能干什么。
基类是皮肤,大大限制了UI的可扩展性,要么就是相同逻辑重复写,要么就是难以做成通用组件。既不方便,也不符合软件开发思维方式。
        很多人对于皮肤逻辑分离的看法是不方便了,因为直接继承皮肤,要什么显示对象直接拿过来用,如果不继承皮肤,可能要多写一个属性去引用。然而各位是否听过这样一句话,偷懒一时爽,爬坑火葬场。为了一点代码能少写几个单词,把整个程序结构搞的很差,这样的事,真的希望别再一次次重演了。
 
但上网搜索完全没人关注这一块,一味的夸赞morn ui多么好。
是否有人知道如何自定义一个皮肤的基类?
 
这一点,egret做得很好,整个机制就是皮肤和逻辑分离,真心希望官方可以借鉴一下。
可以参看这篇文章
http://edn.egret.com/cn/article/index/id/274 
 
最后再点题一下,是否有人知道如何自定义一个皮肤的基类?
已邀请:

qian

赞同来自: zengjoeng

视图模式 f9这里
 
其实你可以早点添上后面两句的,,,

TIM图片20180201154134.png

 
 

zengjoeng

赞同来自:

看,在laya中,界面的基类是一个皮肤,皮肤的基类是一个View。
而我所说的是界面的基类是View,而皮肤的基类就是皮肤的基类。界面可以把皮肤实例中的各个显示对象添加到自己的显示列表中,在界面里用_skin.btn、_skin.label的形式来引用显示对象。
你给的例子,加的逻辑还是在皮肤里。界面还是要继承皮肤。
image.png


image1.png


image3.png

 

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作