进入Flash MX组件时代之二 内置组件的使用(中)
日期:2005-7-25 17:46:21 人气: 出处:PConline 作者:子心 [大 中 小]
PushButton相对于其它内置组件来说其设置与功能相对比较简单,但它却与常规按钮划出了一道界线。在FlashMX中许多地方讲求的都是事件机制,而PushButton就是将原来普通按钮的对象触发机制封装成了事件触发机制。 现在我们从Components面板中拖拽一个PushButton组件到场景中,然后打开它的参数设置面板,如图23所示。 Labels(标签):PushButton显示的提示名称。 ChangeHandler:执行用户自定义的函数。该参数选项的参数为用户定义函数的函数名。 显然PushButton的参数设置内容比较少,而下面我们将举一实例来分析简单区别一下 普通按钮与PushButton的不同,在此例中我们将自定义一个函数RotateTriangle(),利用此函数我们将控制场景中的一个三角形实体物件Triangle,我们可控制该实体旋转角度,当角度大于等于100度时则PushButton失效,但普通按钮却可继续工作。 如上图所示,如果我们要控制Triangle的旋转角度按通常的方法一般是:新建一个普通按钮,然后可在按钮的代码操作区写上如下代码。 on(press){ Triangle._rotation = Triangle._rotation+10; } 这样我们就可以轻松的对Triangle对象进行角度旋转控制。 然而,现在由于有了PushButton按钮,我们就可以将控制的操作代码移至到Frame上, 我们现在编写一个简单的自定义函数RotateTriangle(),其代码如下: function RotateTriangle() { Triangle._rotation = Triangle._rotation+10; if (Triangle._rotation>=100) { pushTriangle.setEnabled(false); } } 我们在控制Triangle实体对象旋转的同时作了一个简单的条件判断,当Triangle的旋 转角度大于等于100的时候我们规定PushButton将不再可以控制,即:可用性为否。此时对于PushButton的操作只需将它的ChangeHandler参数设置为RotateTriangle即可而无需再编写任何代码,但倘若普通按钮要调用此函数则需添加如下内容代码: on(press){ RotateTriangle() } 在此实例中我们函数的代码量十分的少,控制的内容也相当的少,因而似乎没有感觉到 普通按钮与PushButton的区别所在。但是我们绝不能光光看到上面对PushButton的可用性进行控制的内容区别,其实普通按钮与PushButton的区别还在于代码编写机制的改变,由此我们完全可以将场景中的按钮操作代码放置在Frame中,而用PushButton的ChangeHandler来调用,可以摆脱以往那种单个按钮中进行操作代码分别编写的时代,这样做的好处不光光是提高代码管理能力(在按钮控制内容相当多,按钮控制代码相当多的情况十更显有效)而且对于提高影片执行效率也相当有益处。 2.6 ScrollBar(滚动条) 应该说ScrollBar组件是应用最为广泛的组件,我们只需在场景中放置动态文本框,然 后将ScrollBar组件拖拽到场景中并将它粘缚在相应的动态文本框上,再利用LoadVariables或是其它的方法将文本内容导入到该文本框内就可以利用ScrollBar直接控制文本的滚动显示了,相对于Flash4与Flash5的历史,我们再也无需自己编写那么多繁重的代码内容,类似的操作已显得这般的轻松与简单。 现在我们从Components面板中拖拽一个ScrollBar组件到场景中,然后打开它的参数设置面板,如图25所示。 Target TextField(文件对象):粘缚的文本对象在场景中的实体名称。 Horizontal(水平):判断滚动条的状态是水平或是垂直状态。False:滚动条为垂直状态;True:滚动条为水平状态。 下面我们会将一段文本信息载入到场景中的动态文本内,然后直接利用ScrollBar控制 文本框内的文本进行上下滚动显示。 首先放置一个动态文本框,将实体名称命名为ScrollBarDemo,并将文本显示设置为Multiline(多行显示),如下图26所示: 然后从Components中拖拽ScrollBar组件到文本框上,此时我们需选中Snap to Ojbect 选项则ScrollBar会自动粘缚到文本上,ScrollBar的Paramters中的Target TextField会自动切变为文本框在场景中的实体名称,此处为ScrollBarDemo。然后我们在场景中新建一个ActionScript层,并在关键帧中输入如下的代码内容: //----------------------------------------------------------------------------- //函 数 名:loadTextMX(); //功 能:文本的导入 //所需技术:xml,load,onLoad,htmlText //所需参数:url,textbox //适用版本:FlashMX System.useCodepage = true; //自定义函数loadTextMX,loadTextMX将文本解析为XML格式并支持文本Html的显示 movieclip.prototype.loadTextMX = function(url, textbox) { loadVarsText = new XML(); loadVarsText.load(url); loadVarsText.onLoad = function(success) { if (success) { textbox.html = true; textbox.htmlText = this; } else { textbox.html = true; textbox.htmlText = "< br>< font color=\"#ff0000\">提示:未找到相应文件!< /font >"; } }; }; //利用自定义函数将ScrollBarDemo.txt文本内容载入到ScrollBarDemo文本框内 loadTextMx("ScrollBarDemo.txt", ScrollBarDemo); 本例的测试结果如图27所示,我们可以看到ScrollBar已经绑定了文本框,我们可以拖动滚动条来对文本进行翻动控制,而文本框内的“PushButton”字样则以Html标准红色显示。 2.7 ScrollPane(滚动面板) FlashMX在诸多方面较之Flash5都有了重大的突破,而对于图片的载入则是这些突破中非常显著的一点,而在此我们还可以利用ScrollPane组件对动态载入的图片进行显示操作,我们不仅可以利用上下左右滚动对ScrollPane中图片进行区域显示,还可以用鼠标直接拖动ScrollPane中的图片来进行局部内容显示。 现在我们从Components面板中拖拽一个ScrollPane组件到场景中,然后打开它的参数设置面板,如图28所示。 Scroll Content(滚动对象):链接一个Lirbary库中的MC对象到ScrollPane中进行显示,而此处的Scroll Content内容则是被绑定对象的Linkage的名称。 Horizontal Scroll:水平滚动条。Auto:自动判断是否需要水平滚动条;Ture:显示水平滚动条;False:不显示水平滚动条。 Vertical Scroll:垂直滚动条。Auto:自动判断是否需要垂直滚动条;Ture:显示垂直滚动条;False:不显示垂直滚动条。 Drag Content:是否可以手动拖动ScrollPane中的内容。True:支持手动拖动;False:不允许手动拖动。 下面我们将介绍两个实例来分析一下ScrollPane的实际应用,实例一将利用Scroll Content来绑定一个MC并在ScrollPane中显示,而实例二将利用简单的Action代码动态载入外部的Jpg图形并在ScrollPane中显示。 ScrollPane实例一: 首先我们按下Ctrl+R导入一个外部图形到实例的Library中,并新建一个MovieClip将此图形放置于内,如下图29所示: 我们右键点击exampleMC(MovieClip),然后选中Linkage,在弹出的对话框内将Identifiy的内容填写为exampleMC。 然后我们再次返回ScrollPane的参数设置面板,将Scroll Content的内容设置为exampleMC,Horizontal Scroll 、Vertical Scroll设置为True,Drag Content设置为否,则该实例的成品样式如下图30所示,我们将鼠标移动至ScrollPane中则无法拖动查看ScrollPane中内容。 ScrollPane实例二: 我们仍旧新建一个ScrollPane组件,将它拖放至主场景内,并灌以实体名为ScrollPaneDemo,然后我们需确认在该实例的相同目录下有example.jpg此图形,接下来我们再新建一个ActionScript层并在此关键帧中输入如下代码: //用with来操作场景下名称为ScrollPaneDemo的ScrollPane组件 //用loadScrollContent将example.jpg从外部载入到ScrollPane中 //设置水平、垂直滚动条为不可见,但支持鼠标拖放显示ScrollPane中的内容 with (ScrollPaneDemo) { loadScrollContent("example.jpg"); setDragContent(true); setHScroll(false); setVScroll(false); } 简单几行代码就完成了此实例的全部操作,具体成品如下图31所示,鼠标在图片显示区域内显示为手的形状,我们可以用“手”来播放显示example.jpg图形。 |
| 上一篇:用Axialis IconWorkshop随心设计Windows XP绚丽的图标 |
| 下一篇:同一IP地址实现多域名对应多个Web站点 |
热点文章
推荐文章




选项则ScrollBar会自动粘缚到文本上,ScrollBar的Paramters中的Target TextField会自动切变为文本框在场景中的实体名称,此处为ScrollBarDemo。



