您的位置:积木首页 >> 图形图象频道 >> FLASH >> 正文:
标题:网上教程
时间:2005-1-27 来源:不详 浏览数:
};

back.onPress = function () {

       index = _root.photolist.list.getSelectedIndex()

if (index == 0|| index==viod){index = _root.photolist.list.getLength();};

       _root.photolist.list.setSelectedIndex(index-1); 

_root.photolist.list.setScrollPosition(index-1); 

}

next.onPress = function () {

       index = _root.photolist.list.getSelectedIndex();

if (index == _root.photolist.list.getLength()-1||index==viod){index = -1;};

       _root.photolist.list.setSelectedIndex(index+1); 

_root.photolist.list.setScrollPosition(index+1);  

}

//图片表格窗口显示标志位预设为1,即开始显示

//点击list键,根据listshow的变化决定。

//原来不显示,则现在显示;原来显示,则现在隐藏

//这里通过修改photolist的可见性来开关它

//如果是list的第一个项目,则跳到最后一个项目

//回退一个项目

//把回退的项目置顶

//如果是list的最后一个项目,则跳到第一个项目

//前移一个项目

//把前移的项目置顶

费了九牛二虎之力,我们终于完成了这个实例,接下来把想要展示的图片放到目录中,在和动画同目录的位置写一个readme.txt文件,存入图片的名称和地址,导出swf文件,即可看到效果。可以把这个实例放到主页上,向浏览者展示的图片。

注意:readme文件按照以下格式书写:

total=12&

&nam001=modernsky01&

&url001=image/01.jpg&

&nam002=modernsky02&

&url002=image/02.jpg&

………………..

total是图片总数,nam***是图片名称,url***是图片地址。

与本实例有关的文件比较多,它们都可以在光盘中的“图像浏览”文件夹中找到。


24.1  图片浏览器

24.1.1  实例说明

这个实例综合运用了图像动态导入,声音简单控制,Flash组件等技巧,实现了本地或网页图片浏览的功能。通过学习这个实例的制作过程,读者可以掌握制作网页Flash浏览界面的基本技巧,稍加改动,就可以实现Flash界面对文字,图片(jpeg格式),音频(mp3),乃至SWF动画的浏览。

 

24.1.2  有关知识

载入变量、载入图片、设置属性、ListBox组件的应用、物件的拖拽、音乐控制、渐变的使用、图像的精确定位等。

24.1.3  制作过程

一、界面背景的制作

图片浏览器的整个界面做成一个MovieClip,主要是因为大部分内容与外界没有联系,单独成为一个整体。这个界面自己实现了背景图片的切换功能,这里主要展示了矢量平面设计的一些技巧,另外用到了无需读入外部文档动态导入图片的方法。如图24-1所示。

图24-1  界面背景的层次结构

步骤1:新建文件File>New,把文件尺寸设为700X400 pixels,背景设为#999999。按Ctrl +F8,新建一个符号,并起名叫bk,Behavior设为Movieclip。

步骤2:bka层制作。在这个叫bk的Movieclip中新建一个叫bka的层。在这个层里画一个长方形,选定它,在属性面板中修改它的属性:W:700.0  H:400.0  X:0.0  Y:0.0,这样精确的定位,使它和这个场景窗口正好吻合。如图24-2所示。

图24-2  设置界面的大小并精确定位

选中填充工具 ,在颜色样本面板(Color Swatches)中选择左下方的线性渐变,在颜色混合(Color Mixer)面板里调节初始颜色和终止颜色,调整好以后,在长方形内部按鼠标左键拉动鼠标填充即可得到想要的效果。如图24-3所示。

图24-3  给界面填充线性渐变色

步骤3:line层和title层的制作。这两层相对容易,新建名叫line和title的层。做title层,这层很简单,用文本工具,使用适当的字体,在顶部适当位置写好即可。在line层画一个长方形,把它的长度调为700.0,x位移为0.0。然后在长方形右下角用线形工具切割一个梯形,删除多余的部分,如图24-4所示。

 

图24-4  线框的制作过程

步骤4:bk层文件夹的制作。这个层文件夹的Load层是用于导入背景图片的MovieClip,以及一个遮罩层。点击时间轴面板的 按钮,加入层文件夹bk。在bk内加入层Mask和Load。鼠标右键点击Mask层在右键菜单里选择Mask,该层变为遮罩层。把刚才在line层画的多边形的填充部分剪切粘帖到mask层,调整位置使line层的线和Mask层的色块重合,如图24-5所示。

图24-5  制作遮罩

在load层画一个小的长方形,把它的X,Y坐标都设为0,然后按F8将它变成一个Movieclip,命名为bkload,在实例属性中给bkload在bk 中的实例起名叫square。在后面的程序中,我们将利用loadMovie("url",target[, variables])语句把背景图片导入到square上面。

注意:loadMovie();第二个变量target必须是场景中的一个对象。square就是这个对象。背景图片导入之后替代square的原mc,并继承原mc的属性。所以把suqare的坐标设为(0,0),图片导入后也就正好在(0,0)这个点上。Mask层在上面使载入图片的多于部分被遮蔽,正好显示出和多边形吻合的形状。

步骤5:button层的制作。这个层八个按钮制作方法相同。以其中back按钮(符号名buback)为例。结构如图24-6所示

图24-6  buback按钮结构示意图

layer1层使用了不同的透明度,这个效果需要在属性面板中修改alpha值实现。由于按钮制作不是本节重点,细节从略。把按钮排列到button层上,分别在属性面版中给实例起上相应的名字:home,mail,close,music,bk,list,back,next。至此,界面组件bk的制图工作全部完成。

提示:给实例取名很重要,没有这些名字下面的Action就无法控制它们。

步骤6: Action Script的编写。新建action层,在第一帧上写程序,把action同一写在一个帧上便于调试。需要说明的语句有以下几点:

声音文件bk.mp3是通过加到sound对象msound上来实现控制的,输出swf文件时它并没有被加到场景中,为了用Action控制这是必需的。但Action是不会识别.mp3的,需要给bk.mp3做如下处理:在库中右键单击bk.mp3,在右键菜单中点选Linkage,在弹出的对话框中选择Export for ActionScript,并给它起名叫bksound,如图24-7所示。

图24-7  设置声音文件的链结属性

然后使用msound.attachSound("bksound");才把声音分配给msound声音控制语句sound,start();有两个变量,第一个是播放该声音的起始位置,写0则从声音的第零秒开始播放,第二个变量是播放的次数。

以下是bk这个MovieClip中的Action程序。

square._alpha = 0;                      

whichPic = 1;                           

show = 0;                               

musicshow = 1;                         

msound = new Sound(this);              

msound.attachSound("bksound");         

msound.start(0,99);                     

home.onPress = function() {      www.imwanderer.net

       getURL("http://www.imwanderer.net");

};

mail.onPress = function() {              

       getURL("mailto:webmaster@imwanderer.net");

};

close.onPress = function() {            

       fscommand("quit");

};

bk.onPress = function() {

       if (show == 0) {       

              show = 1;

              if (!fadeIn && !fadeOut) {

                     fadeOut = true;

                     whichPic = 1;

              }

       }

       if (show == 1 && whichPic<=3 && !fadeIn && !fadeOut) {

              fadeOut = true;

              whichpic++;

       }

       if (show == 1 && whichPic>3) {

              show = 0;

              whichPic = 1;

       }

};

music.onPress = function() {

       if (musicshow == 0) {

              musicshow = 1;

              msound.start(0,99);                   

              }

       else {

              musicshow = 0;

上一页  [1] [2] [3] [4] [5] 下一页


(责任编辑:admin)
最近更新
今日推荐
热点文章