散仙
阅读权限 3
积分 1908
侠名
UID 42
主题
帖子
精华
好友
银子
金子
贡献
威望
推广
活跃
荣耀
注册时间 2017-11-7
最后登录 1970-1-1
在线时间 小时
个人主页
|
【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 qq229449388 于 2017-11-16 01:46 编辑
先看效果
TitleWindow顾名思义,就是带标题的窗口,羔羊引擎已经加入TitleWindow的皮肤,名叫TitleWindowSkin,实现IWindowSkin或者继承TitleWindowSkin可以自定义TitleWindow的皮肤,如果不记得皮肤与组件的关系,回去看按钮皮肤的那一节,传送门快去快回。
这节的内容比较简单,我们现在创建一个主题的TitleWindow来看看
- _win = new GYTitleWindow;
- _win.width = 400;
- _win.height = 400;
- _win.setTitle("羔羊引擎");//必须先设置标题,才可以设置标题属性
- s.addChild(_win);
复制代码 创建窗口很简单,就只需要你们喜欢的new,new ,new,记得一定要设置宽高,因为默认是0,不设置是什么都看不到的。还有一个重点就是组件里设置文本的地方,如TitleWindow这种,要先设置标题,才可以设置标题文本的属性,因为没设置标题,标题文本是没有创建的,所以这有先后顺序,例如Button的label也是一样的顺序,光只有以上代码,我们只能看到带标题党窗口,但是标题位置和关闭按钮位置都不对,我们调整一下。
- _win.closeBtn.right = 0;//靠右布局
- _win.closeBtn.y = 0;
- _win.title.y = 2;
- _win.title.width = _win.width;
- _win.title.align = "center";
复制代码 没难度,再送一个功能,窗口可拖动,设置canDrag属性
- //窗口可以拖动
- _win.canDrag = true;
- _win.dragRange = int.MAX_VALUE;
- _win.title.mouseEnabled = false;//避免title挡住
复制代码 玩点别的花样,换行窗口的皮,很简单,上次说过,有皮肤的组件在构造函数里面都有skin参数,传入skin参数即可,当然,不传入,在外部设置skin属性也可以,但是告诉大家一个效率的问题,因为skin内部不做延迟处理,一旦赋值马上就会执行皮肤解析,所以大家最好还是从构造函数传入,否则构造函数传如一个null内部生成默认主题皮肤,外部又设置了另外一个皮肤,这skin的解析就执行了两次。
- var vec:Vector.<BitmapData> = new Vector.<BitmapData>;
- vec.push(closeBtn_upBitData,closeBtn_overBitData);
- _otherWin = new GYTitleWindow(new TitleWindowSkin(
- uiBitData,
- (GYSprite.skinTheme as GYSkinTheme).sizeRect20_20_50_20,
- new ButtonSkin(vec)));
- s.addChild(_otherWin);
- _otherWin.setTitle("win7窗口");
- _otherWin.title.color = 0;
- _otherWin.x = 20;
- _otherWin.y = 20;
- _otherWin.width = 400;//记得设置宽高,要不啥都看不见,因为宽高默认是0
- _otherWin.height = 400;
复制代码 如上代码,很简单,new一个ITitleWindowSkin传入即可,3个参数,背景,九宫格(上面直接使用主题的了),关闭按钮的皮肤
lesson2.rar
(19.83 KB, 下载次数: 9)
|
|