| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
体验flash mx(9):button对象http://www.iyit.net 日期:2006-5-27 15:17:04 来源:网络转载 点击: |
flash mx的出现让我们看到了实现问题的各种捷径,而且内部对象全部object化,而其中一个让人兴奋的对象就是button object——曾经是不可programmable(as控制)的顽固分子之一。 button对象是object对象的继承(言下之意即是所有object的属性方法都可以使用),现在已经可以和movieclip一样可以有自己的instance name属性,同样在设置movieclip的instance name的propertyinspector面板内设置(ctrl+f3,图1)。
(图1) button的instancename可以看作为一个指针id,指向被action编程操作movieclip;当然,逆向地,动态产生的movieclip如果具有了使用了button对象的方法,也即是“变成”了button对象的指针id。 1) 手动制作的button。通常,在编程风的跟随下,很多人已经走入了编程的误区,就是无论什么都主张编程(不要学我哦,我写教程而已),其实解决问题需要在速度和效率间寻找那个临界点,如果你觉得自己手动速度更快一些就可以用手动来做,例如图1的按钮就是很简单的用一个rectangle tool做出来的button,并且给于instance name“btn1”。 2) 虽然手动在某种情况下是非常直观而且迅捷的,但是我们也看看另一个做法: movieclip.prototype.makeboxv2 = function(x, y, l, w) { with (btn2) { 改进的makeboxv2支持长和宽的设定,这样可以实现制作长方形;程序动态产生一个btn2,并且用粗度.1并且用色码333333的颜色填充颜色代码为333333的65x16的长方形区域,这样就有了形成一个button的前提。 接着,赋予button的属性,即把button的事件给于movieclip: btn2.onrollover=function(){ btn2.onrollout=function(){ 接触过flash 5的朋友也许一下就看到里面用到了color对象,这个对象在flash mx没有太大的改进,所以我们也就不多说它;把onrollover鼠标浮动事件的handler写为一个function,并设置这个按钮的颜色为发亮的0xdddddd;由于鼠标不会在浮动上之前就会有rollout,所以把初始化color对象的语句可以写入onrollover事件。 测试一下两个不同实现的结果:
(图2) 下面介绍button对象的属性、方法等。 button对象在默认状态下的属性是: usehandcursor = true; usehandcursor在true状态下是当鼠标移动上来时显示手形图像,反之保持鼠标箭头状态,说到enabled,就直接影响button的状态了,默认状态总是true,否则当前不响应用户鼠标事件,这个在不需要用户响应的时候十分有效。 button对象的方法: button对象的方法很简单,只有getdepth一个,目的是获取目标button的level: trace(btn2.getdepth()); tab键关联 在处理成组的很多button 同时存在时,会遇到按tab键按钮间组内切换的情况,在flash mx中会把需要切换的button按照tabindex顺序排列: button.prototype.onkillfocus=function(){trace("kill focus"+this._name)}
(图3) 试验的结果发现了问题,在有手动和程序实现的button同时存在的时候,tab并不起什么作用,而在无手动button的时候却只能使tabindex和tabenabled起作用,但killfocus毫无响应,可见程序作的按钮的可靠性。 btn2.tabenabled=true
(图4) button对象大概就是这个样子了,值得高兴的是可以用程序作button了,不过程序和设计总是有个点,那个点的把握就决定着flash mx的应用性。 感谢dnvsystem,源代码:http://www.dnvs.net/tutorial/flash_mx/day9.fla 注:button对象的getdepth其实也就是movieclip的getdepth(代码号全为105)。 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:flash倒影字的制作(入门教程) 下一篇:全文字解析如何制作按钮操控的动态文本 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 相关文章 | ||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||