快速业务通道

进入Flash MX组件时代之四 组件的衍生

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-09

  前面我们已经阐述了FlashMX组件的概念、内置组件的强大功能、扩展组件的安装和应用,显然这些内容仍属于组件应用的范围。FlashMX为我们提供的内容绝不仅仅只限于这些,那它到底还隐藏了些什么呢?其实它什么也没有隐藏,也无需隐藏,而恰因如此,越来越多的闪客闪侠加入到了FlashMX应用组件开发的行列当中。FlashMX应用组件的开发?这到底是怎样一种技术,我们又该如何去认识它,谈及到此或许我们该对FlashMX组件的衍生过程进行一番了解。   4.1 从功能函数衍生开来   假若说到函数相信各位闪友都会眼睛一亮,平时制作Flash影片的时候经常会用到一些函数,如:random(随机函数)、substring(截取字符函数)、abs(绝对值函数)等Flash自带的函数,相信熟悉Flash ActionScript的朋友对它们也一定非常熟悉,利用它们我们已经可以完成一些常规功能的奇特效果。然而要求似乎永无休止,在许多场合我们仍需要自行定义一些自定义函数来解决一些特殊的要求,在此我们称它们为“功能函数”。   不说还不明白,越说却越糊涂,我想从下面的实例中或许可以让我们对“功能函数”有进一步认识。   实例要求:在场景中创建一组按钮,而鼠标移至按钮上以后就显示相应的按钮功能提示信息。   制作分析:由于每分按钮必定具有其不同的功能作用,因而鼠标移至按钮上时显示的提示信息必然是不相同的。针对于此,第一印象我们或许会马上联想到利用按钮 “UP”及“Down”等不同状态时放置相应不同的文本框,以此来达到按钮的提示信息的功能。假若场景中只有二、三个按钮用此方式或许尚可,但倘若按钮一多则会显得极为繁杂,因而我们必须想法找到更为妥善的方式来解决此类问题。由于Flash本身并无相关的函数来解决此种特定问题,因而我们自然而然的想到了利用Action创建一个解决此问题的特定函数,在此我们将它们命名为setTooltip及unsetToolTip——提示信息的功能函数。   首页我们在场景中建立一个ActionScript层,如下图52所示,然后在此关键帧中输入如下代码: 图52 ToolTips功能函数场景内容 //----------------------------------------------------------------------------- //函 数 名:setTooltip();unsetToolTip(); //功 能:在MovieClip或是Button上显示相应的提示信息 //所需技术: TextFormat, createTextField, setNewTextFormat, setInterval, clearInterval, removeTextField; //所需参数:theText,timer,text_color,bg_color,border_color //适用版本:FlashMX //自定义函数setTooltip MovieClip.prototype.setTooltip = function(theText, timer, text_color, bg_color, border_color) { if (timer == undefined) { timer = 500; } //定义函数addMsg var addMsg = function (theMsg, col, bg_color, border_color, level) { var x = _root._xmouse; var y = _root._ymouse; //创建文本格式 var f = new TextFormat(); f.font = "宋体"; f.size = 12; f.color = col != undefined ? col : 0x000000; //创建动态文本框 _level0.createTextField(''tooltip'', 123456, x, y, 150, 20);

//设置文本框属性 with (_level0.tooltip) { setNewTextFormat(f); text = theMsg; selectable = false; autoSize = true; background = true; border = true; borderColor = border_color != undefined ? border_color : 0x000000; backgroundColor = bg_color != undefined ? bg_color : 0xFFFFEE; _y -= _height; } clearInterval(level.q_t); }; //定时调用addMsg函数 this.q_t = setInterval(addMsg, timer, theText, text_color, bg_color, border_color, this); }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号