| 积木首页 | 500多种网页特效 | 函数手册 | 广播电台 | 高清晰图片素材 | 服务器合租 | 万年历 | 网友最新浏览记录 |
| 程序开发 | ![]() |
网页设计 | ![]() |
搜索引擎 | ![]() |
特效代码 | ![]() |
操作系统 | ![]() |
防范病毒 | ![]() |
黑客技术 | ![]() |
图形图象 | ![]() |
电脑硬件 | ![]() |
网络技术 | ![]() |
服 务 器 | ![]() |
数 据 库 | ![]() |
网文精粹 |
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;
msound.stop();
}
};
onEnterFrame = function () {
if (show == 1) {
if (square._alpha>10 && fadeOut) { square._alpha -= 20;
}
if (square._alpha<10) {
loadMovie("bk/"+whichPic+".jpg", "square");
fadeOut = false;fadeIn = true;
}