PC6下载站

分类分类

进入Flash MX组件时代之二 内置组件的使用(中)

关注+2004-11-07作者:蓝点

2.5 PushButton(推动按钮)



  PushButton相对于其它内置组件来说其设置与功能相对比较简单,但它却与常规按钮划出了一道界线。在FlashMX中许多地方讲求的都是事件机制,而PushButton就是将原来普通按钮的对象触发机制封装成了事件触发机制。



  现在我们从Components面板中拖拽一个PushButton组件到场景中,然后打开它的参数设置面板,如图23所示。

图23 PushButton组件的参数面板




  Labels(标签):PushButton显示的提示名称。



  ChangeHandler:执行用户自定义的函数。该参数选项的参数为用户定义函数的函数名。



  显然PushButton的参数设置内容比较少,而下面我们将举一实例来分析简单区别一下



  普通按钮与PushButton的不同,在此例中我们将自定义一个函数RotateTriangle(),利用此函数我们将控制场景中的一个三角形实体物件Triangle,我们可控制该实体旋转角度,当角度大于等于100度时则PushButton失效,但普通按钮却可继续工作。

图24 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所示。

图25 ScrollBar组件的参数面板




  Target TextField(文件对象):粘缚的文本对象在场景中的实体名称。



  Horizontal(水平):判断滚动条的状态是水平或是垂直状态。False:滚动条为垂直状态;True:滚动条为水平状态。



  下面我们会将一段文本信息载入到场景中的动态文本内,然后直接利用ScrollBar控制



  文本框内的文本进行上下滚动显示。



  首先放置一个动态文本框,将实体名称命名为ScrollBarDemo,并将文本显示设置为Multiline(多行显示),如下图26所示:

图26 场景中的动态文本框及ScrollBar组件




  然后从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标准红色显示。

图27 ScrollBar实例成品样式




  2.7 ScrollPane(滚动面板)



  FlashMX在诸多方面较之Flash5都有了重大的突破,而对于图片的载入则是这些突破中非常显著的一点,而在此我们还可以利用ScrollPane组件对动态载入的图片进行显示操作,我们不仅可以利用上下左右滚动对ScrollPane中图片进行区域显示,还可以用鼠标直接拖动ScrollPane中的图片来进行局部内容显示。



  现在我们从Components面板中拖拽一个ScrollPane组件到场景中,然后打开它的参数设置面板,如图28所示。

图28 ScrollPane组件的参数面板




  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所示:

图29 导入的外部图形及新建的MovieClip




  我们右键点击exampleMC(MovieClip),然后选中Linkage,在弹出的对话框内将Identifiy的内容填写为exampleMC。



  然后我们再次返回ScrollPane的参数设置面板,将Scroll Content的内容设置为exampleMC,Horizontal Scroll 、Vertical Scroll设置为True,Drag Content设置为否,则该实例的成品样式如下图30所示,我们将鼠标移动至ScrollPane中则无法拖动查看ScrollPane中内容。

图30 ScrollPane实例1成品样式




  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图形。

图31 ScrollPane实例2成品样式
展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消