前面我们已经阐述了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);
};
//自定义函数unsetToolTip
MovieClip.prototype.unsetToolTip = function() {
//清除文本框及清除setInterval调用
_level0.tooltip.removeTextField();
clearInterval(this.q_t);
};
/*
//使用方法:
setToolTip("你想显示的提示信息!",timer, text_color, bg_color, border_color);
上一篇:用Photoshop实现削皮效果
下一篇:充分挖掘Windows录音机的功能
|