11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2026|回复: 0
上一主题 下一主题

[★ AS3 引擎] 羔羊引擎之TitleWindow(带标题窗口)

[复制链接] TA的其它主题
发表于 2017-11-16 01:02:06 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

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

x
本帖最后由 qq229449388 于 2017-11-16 01:46 编辑

先看效果


TitleWindow顾名思义,就是带标题的窗口,羔羊引擎已经加入TitleWindow的皮肤,名叫TitleWindowSkin,实现IWindowSkin或者继承TitleWindowSkin可以自定义TitleWindow的皮肤,如果不记得皮肤与组件的关系,回去看按钮皮肤的那一节,传送门快去快回。
这节的内容比较简单,我们现在创建一个主题的TitleWindow来看看


  1. _win = new GYTitleWindow;
  2. _win.width = 400;
  3. _win.height = 400;
  4. _win.setTitle("羔羊引擎");//必须先设置标题,才可以设置标题属性
  5. s.addChild(_win);
复制代码
创建窗口很简单,就只需要你们喜欢的new,new ,new,记得一定要设置宽高,因为默认是0,不设置是什么都看不到的。还有一个重点就是组件里设置文本的地方,如TitleWindow这种,要先设置标题,才可以设置标题文本的属性,因为没设置标题,标题文本是没有创建的,所以这有先后顺序,例如Button的label也是一样的顺序,光只有以上代码,我们只能看到带标题党窗口,但是标题位置和关闭按钮位置都不对,我们调整一下。
  1. _win.closeBtn.right = 0;//靠右布局
  2. _win.closeBtn.y = 0;
  3. _win.title.y = 2;
  4. _win.title.width = _win.width;
  5. _win.title.align = "center";
复制代码
没难度,再送一个功能,窗口可拖动,设置canDrag属性
  1. //窗口可以拖动
  2. _win.canDrag = true;
  3. _win.dragRange = int.MAX_VALUE;
  4. _win.title.mouseEnabled = false;//避免title挡住
复制代码
玩点别的花样,换行窗口的皮,很简单,上次说过,有皮肤的组件在构造函数里面都有skin参数,传入skin参数即可,当然,不传入,在外部设置skin属性也可以,但是告诉大家一个效率的问题,因为skin内部不做延迟处理,一旦赋值马上就会执行皮肤解析,所以大家最好还是从构造函数传入,否则构造函数传如一个null内部生成默认主题皮肤,外部又设置了另外一个皮肤,这skin的解析就执行了两次。
  1. var vec:Vector.<BitmapData> = new Vector.<BitmapData>;
  2. vec.push(closeBtn_upBitData,closeBtn_overBitData);
  3. _otherWin = new GYTitleWindow(new TitleWindowSkin(
  4.                 uiBitData,
  5.                 (GYSprite.skinTheme as GYSkinTheme).sizeRect20_20_50_20,
  6.                 new ButtonSkin(vec)));
  7. s.addChild(_otherWin);
  8. _otherWin.setTitle("win7窗口");
  9. _otherWin.title.color = 0;
  10. _otherWin.x = 20;
  11. _otherWin.y = 20;
  12. _otherWin.width = 400;//记得设置宽高,要不啥都看不见,因为宽高默认是0
  13. _otherWin.height = 400;
复制代码
如上代码,很简单,new一个ITitleWindowSkin传入即可,3个参数,背景,九宫格(上面直接使用主题的了),关闭按钮的皮肤
lesson2.rar (19.83 KB, 下载次数: 9)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



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