设为首页收藏本站
搜索
楼主: 夜飞鹰

flash专栏

[复制链接]

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 20:56:42 |显示全部楼层

flash专栏

2.交互式菜单
这部分讲的是Flash网页的交互部分,非常重要。本例中交互式菜单的制作当然离不开按钮了,按钮是它的基本元素。并且还包含了几个类似的小型的形变效果。(形变效果,就是一些点到线的变化。形变所要注意的是起始帧和结束帧上的符号都是被打散的,否则就不能做成形变效果了,还要注意的是运动类型一定要选则为Shape(形变)。另外为了完美,需要把起始帧上和结束帧上元素的坐标定位,这样在运动时就不会产生细小的错位)。我们可以按照刚才讲过的,通过查看元素信息来精确定位。
接下来我们看看一个简单的按钮是如何制作的:
按钮符号的时间轴上的每一帧都有一个特定的功能:
第一帧-Up-表示鼠标指针不在按钮上时的状态。
第二帧-Over-代表鼠标指针出现在按钮上面时的状态。
第三帧-Down-表示鼠标点击按钮时的状态。
第四帧-Hit-定义对鼠标做出反应的区域,这个反应区域在影像中是看不见的。四个状态具体如图7(图)所示。
具体操作如下:
1)在确认工作区上没有东西被选中后选择Insert(插入)→New Symbol(新的符号),或者按“Ctrl+F8”。在符号属性对话框中,为新按钮输入一个名字,Symbol Properties(符号属性)选项选择Button(按钮)作为符号类型。
Flash这时转到符号编辑模式,时间轴的开头转变成显示四个连贯的分别标注为Up,Over,Down,和Hit的帧。第一帧Up,是一个空白关键帧。
2)要创建Up状态的按钮图像,可以使用绘图工具,或输入一幅图形,或者放置一个其它符号的实体都可以。在这里我们用矩形绘图工具画一个矩形,选择填充色,然后我们输入相关的文字,并打散,如图8(图)。
3)点击第二帧,标注为Over,选择Insert(插入)→Keyframe(关键帧)。在第一帧up的基础上调整,调整完后作为第二帧。
4)在Over状态下的按钮图像可以进行改变,可以把原先的图形或符号先删除掉,然后从符号库调用符号。在处理Down和Hit状态下的按钮图像时重复上述第三步和第四步。
Hit帧在舞台上是看不到的,但是它却定义了对鼠标点击所能够做出反应的按钮区域。需要确认的是作为Hit帧的图形应是一个固定的区域,并且要大到足以包围Up、Down和Over帧所有的图形元素。它还可以比看到的按钮大。如果你不指定hit帧,出于Up状态下的对象就会被用作Hit帧,这样鼠标点击按钮时就不太灵敏了,尤其对纯文字的按钮。
5)如果还想给Over状态下的按钮指定音效,首先,导入一个合适的音效文件,文件菜单中file(文件)→import(导入)选项,在本范例中导入的是一个名为“Click”的声音文件。接下来移动鼠标,点击Down状态下的关键帧,按右键,选择“Panels→Sound”面板,在sound标签中选择click文件即可,如图9(图)。

上面介绍的是一个简单的按钮的制作过程。我们还可以做一个复杂的按钮。主要是通过把一个按钮放在一个MC(Movie Clip影片夹的英文缩写)中,然后通过脚本的作用,来实现帧的跳转,以编辑在线这个按钮为例,如图10(图),具体如下。
我们先建立一个MC,然后把Editor这个按钮放到这个MC的第一帧上,设置脚本为Stop(),接下来我们在第二个帧处插入关键帧,在这一帧上的编辑在线按钮旁边加上一个带有多个按钮的符号,并在帧上设置脚本为Stop()。我们再回过头来设置第一帧上那个编辑在线按钮,脚本如下:
on (release) {
gotoAndStop (2);
}
按下此按钮后,将跳到第二帧,并且停止播放。我们给第二帧上的按钮加上返回脚本:
on (release) {
gotoAndPlay (1);
}
好了,这个带有按钮的MC就做成了,剩下的就是把这个MC放到相应的时间轴的相应关键帧上就可以了。
6)去年,无边框窗口特别火,我接下来可不是要讲如何用JS编写无边框窗口页面,而是要介绍如何用Flash制作出无边框窗口的效果。跟我一起来做吧!
我们所要做的这个Flash的无边框窗口是运用脚本语言控制Instance(实例)的属性来实现的,本范例中的无边框窗口是电脑报网站读者俱乐部社区的登录窗口,如图11(图)。


首先我们要建立一个MC,在工作区内画一个无边框窗口,用文字工具在窗口上设置两个变量框,一个变量名为“Userid”,一个变量名为“PASSWORD”,变量的设定是根据网站登录框中的变量来设置的,如果设置不一样,那么变量的值不能传送过去就得不到认证,当然用户也就无法登录到社区了。制作好符号后,我们把它当作一个实例,名字叫做“Window”。具体做法是,点选登录符号,按右键Panels(面板)→Instance(实例),如图12(图)。
然后我们在登录的窗口上再建立两个按钮,一个名为登录,一个是重置。具体做法跟前面一样,主要是按钮上的脚本。鼠标选中按钮,然后按右键选择Actions(脚本),就会弹出脚本编辑框了,如图13(图)。
登录按钮上的脚本为:
on (release) {
userid = userid;
PASSWORD = PASSWORD;
getURL (“http://61.128.193.127/ask/login.asp”,“_blank”,“POST”);
}
最开头的脚本为先设置变量的具体值,然后通过网络地址来传递变量,进行认证,别忘记方式为post(发送),要选中。这个登录框适用范围非常广,例如:邮箱,社区等地方的登录项,只要把相应的变量和地址修改了就可以用了,是不是很灵活呀。
注:由于软件与操作系统兼容的问题,可能用鼠标不好选择变量传递方式,可以用方向键的上下来选择。
在窗口的顶端我们还要安放两个按钮,一个是负责任意拖放窗口的,一个是负责关闭窗口的,如图14(图)。
拖放按钮的脚本为:
on (press) {
startDrag (_root.window);
}
on (release){
stopDrag ?
}
关闭窗口按钮的脚本为:
on (release) {
setProperty() (_root.window, _visible, false);
}
表面上是关闭,其实是把它的可见属性设置为否了(False)。
另外,登录社区按钮上的脚本则把窗口的可见属性设置为真(True),在主场景的第一帧上的可见属性初始化脚本设置还是为否的,这样整个页面载入的时候,登录框是不可见的。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 20:58:47 |显示全部楼层

flash专栏

3.版权标识和计时器部分
页面最下面的版权标识,可不是用HTML直接写上去的。是通过Flash5中对文本框可以内嵌HTML1.0语言支持所实现的效果。具体操作是用Text Tool(文本工作)在工作去内建立一个文本框,这里的变量名字为CopyRight,并在选项中要选择HTML选项,如图15(图)。
在页面动画的第一帧要对CopyRight变量进行赋值为:copywright=“电脑报编辑部CopyRight2000-2001
联系我们”,这样显示的时候就跟普通的页面是一样的。
计时器部分,如图16(图),
利用脚本语言来记录一个用户在本页面停留的时间,脚本为:
onClipEvent (enterFrame) {
y = getTimer();
t = int((y-_root.w)/1000);
time = t;
}
getTimer()函数返回电影开始播放到当前的时间,以毫秒计。也就是说我们得到的数字必须除以1000才能得到我们平时通用的秒数。_root.w是时间的初始化值,它是放在主场景的首帧上的。int()是取整数函数。变量框的变量名为time。OnEnterFrame:表示在播放到某一帧时激活事件,在这一帧里,OnEnterFrame会在其他任何事件之后才响应。
4.载入页面的制作和脚本的编写
Flash5提供了非常丰富的函数,我们可以利用新的函数来制作出精确的下载状态显示条。
我们在layer1层上放入一个名为loadbar的MC,它是一个MC,能够形象地反映出当前影片的下载状况,如图17(图)。
我们建立一个layer2层,在它的上面放入了两个文本框,它们显示的分别是下载数据的百分比和速度,剩余时间和总共的时间。在第二个关键帧上加入以下脚本:
byteloaded = _root.getBytesLoaded();
bytetotal = _root.getBytesTotal();
loaded = int(byteloaded /bytetotal*100);
t = getTimer();
percent = loaded + “% (” + int(byteloaded/1000) + “ K / ” + int(bytetotal/1000) + “K)”;
percent = percent + “\r下载速度:”+ int((byteloaded*1000)/(t*1024) + “ K/s”;
loadbar.gotoAndStop(loaded);
timeloaded = int(t/1000);
timeremain = int(timeloaded * (bytetotal- byteloaded)/ byteloaded);
timeremain = int(timeremain / 60) + “\'” + int(timeremain % 60) + “\”“;
timeloaded = int(timeloaded / 60) + ”\'“ + int(timeloaded % 60) + ”\“”;
downloadtime = “已用时间:” + timeloaded + “\r” + “剩余时间:” + timeremain;
bytetotal表示总共需要下载的数据量,Loaded表示下载的数据量与总数据量的百分比。loadbar.gotoAndStop(loaded),表示随着数据下载比的增加,loadbar也停在相应的帧上,由于MC总共有100帧,所以在下载数据显示时非常形象。Timeloaded表示当前总共花的时间。Timeremain表示剩余的时间。Timeloaded表示已经用的时间。后面所跟的表达式都是一些简单的数学公式运算,仔细看一下就会明白了。
我们在这一层的第14帧处加入如下脚本来进行动态的检测
if (byteloaded == bytetotal) {
gotoAndStop (“main”, 1);
} else {
gotoAndPlay (“back”);
}
当下载数据完毕时(byteloaded = = bytetotal),就跳到指定的场景播放动画。
这个loading程序动画,可以独立出来,也就是说可以在别的Flash页面前加入该loading动画也可以达到精确显示下载的目的,不过最后一帧的场景名需要根据实际情况来改变名称。
另外在把Flash嵌入到页面上的时候可以在页面中加入如下代码:
这样就可以把右键菜单禁止掉。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:01:48 |显示全部楼层

flash专栏

手把手教你做Flash网页(下)
Flash周边软件介绍
Flash的周边辅助软件可谓丰富多彩,它们对Flash技术的扩展起到了非常大的作用。在这里笔者只是给大家介绍十款精彩的周边软件。
1.DeFlash
下载地址:http://flash.xiloo.com/download/software/DeFlash13.exe
2.SWF Browser
这个小工具可以将受保护的Flash动画(SWF)解保护,方便你在Flash环境中Import(导入)。
下载地址:http://flash.xiloo.com/download/software/SWFBrowser293.EXE
3.SreenWeaver 2.03
一个SWF文件浏览器,与Deflash相比,不同处是在于它不但可以解除受保护的SWF动画,还可以用它来提取出SWF中的声音、图像、文件结构等,还可以把SWF制作成为屏幕保护,使用Swfbrowser有时候出现死机的现象,建议你先使用DeFlash把动画破解再来提取其中的元素。
下载地址:http://flash.xiloo.com/download/software/sw203b_eg_c.zip
4.Illustrate! 5.0 for 3DS MAX 3
功能最强大的Flash屏保制作工具,与Swfbrowser来自同一公司。
下载地址:http://flash.xiloo.com/download/software/Illustrate5.0.zip
5.Swift 3D 1.0
一款3DS MAX3的插件,可以将3D模型直接渲染为SWF或AI格式,使得3D Flash的制作更加高效、简单。
下载地址:http://flash.xiloo.com/download/software/swift3d.zip
Flash 3D制作工具。注意:Swift3D渲染速度很慢,请低配置(主频<400MHz,内存<128M)或使用Win98的朋友做好心理准备,好像与Win Me有冲突。
6.SwiffCANVAS 1.0
下载地址:http://flash.xiloo.com/download/software/SwiffCANVAS_10.EXE
7.Swish1.52
将Flash projector(*.exe)再次加工的好东东:可以自定义文件图标、除掉讨厌的Flash窗口、播放时禁止屏保等等。这下用Flash做的Demo也可以上cd-rom了,也许会有人误以为是使用Director做的。
下载地址:http://flash.xiloo.com/download/software/swish152.zip
上面7款软件,或是操作简单,或是以前《电脑报》上有过介绍,这里就不再介绍了。接下来为大家介绍的是三款比较新的辅助软件,它们分别是:“Flash工程文件转换软件exe2swf”、“Flash脚本浏览器ASV”、“以及音量表生成工具Flashamp”。
生成数据文件的数字在Flash的脚本中可以依靠数组来加以调用,具体的应用在这里就不讲了,有兴趣的朋友可以到一些专业的Flash教学站点上下载相应的源代码,一看就会明白的。
下载地址:http://flash.xiloo.com/download/software/Flashamp.zip
8.exe2swf
这个软件可以将已编译的Flash动画执行文件*.exe转为*.swf文件,使用起来挺方便的,而且该软件只有162KB,安装过程与普通软件一样。软件安装完后,别的就不用管了,直接用鼠标选中要转换的Flash文件,然后点击右键,右键菜单上的第二项“convert Flash exe to swf”就是用来把exe文件转换成swf文件的,选择完后,出现一个对话框,给转换后的文件起一个名字就可以了,是不是很简单呀!
下载地址:http://flash.xiloo.com/download/software/exe2swf.zip
9.Action Script Viewer
ASV英文全称为Action Script Viewer,从名字上就可以看出它是干什么的了。它可以查看已编译好的Flash动画文档中的脚本文件,工作界面如图。
其实ASV不仅仅能够查看脚本,他还可以单独的播放一个SWF动画中的一个MC或者是一个按钮,还有一个Frame(帧)上各个层,以及层上的符号。它的使用也非常方便,打开一个SWF文件后,有脚本的Frame(帧)或者MC它会用一个眼睛的图标表示,用鼠标点击相应的图标,就会在程序界面下部的脚本显示框中显示该Frame(帧)或者是MC上相应的脚本。如果想要浏览一个MC的动画或者是一个按钮,可以选中相应的元素后,按F5键就可以做到了。要提醒各位的是:ASV的功能非常强大,使用者还是不要把他用到商业用途上,去破解别人的动画中脚本,那来自己用,如果是用来学习的话倒是可取的。
ASV 1.5版本只支持Flash4的脚本,最新的2.0版本支持Flash5的脚本。
下载地址:http://flash.xiloo.com/download/asv15.exe
10.FlashAmp
FlashAmp这个软件那可COOL了!用户可以用它把一段音乐或者声音生成一个直观的音量表数据文件,该数据文件说白了就是一组数字,表示了这段声音文件输入到Flash中后分布到各个Frame(帧)上的音量,是不是很直观?你要问这些数字有什么用呀?用处可大了,你可以把它用在Flash的MTV中,可以形象的表示出当前音量的大小,可是同步的哦!用过Winamp的你想必应该会很明白吧。具体制作过程非常简单,如图。
操作共需八步:第1步,点击红色的问号按钮,选择要处理的声音文件。然后的2到7步按照程序默认就可以了,需要指出的是第4步的15表示动画所设置的每秒的帧数,第5步的100表示生成数值的范围。第8步就是程序通过分析所选定的声音文件生成一个音量数据文件

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:02:26 |显示全部楼层

flash专栏

Flash FAQ(常见问题回答)16例
以下是在Flash动画制作过程中经常碰到的一些问题,在这里整理出来是为了给初学者学习提供方便。
Q:如何使按钮上的激发事件成为一个动态的效果
A:可以在Over或者Down时间上加入一个MC
Q:如何快速对齐不同帧上的符号或者是物体
A:可以使用Inspector“Ctrl+Alt+I”,直接输入坐标,也可以使用“Ctrl+K”,可以使好多个符号或者是物体按照一定的方式对齐,前者更精确些可以调整它的宽度和高度还有坐标,后者比较迅速!
Q:Flash自带的Generator是用来做什么的呀?
A:Macromedia Generator是一种可以动态地把文字,图形和声音组合起来建立丰富的媒体内容,并可以把最终结果变成一种动画或者静态的格式的Web服务器产物应用程序。它可以将Flash功能发挥到极致,非常好。做实时天气预报,报表走向,是动态的数据+动态的动画,只是好像这样的服务器费用比较高,国内很少见到。
Q:Modify菜单下的instance为什么有时变成不可点击状态,请问如何才能再次激活它?
A:你所选的元素必须是一个符号才可以,否则是不行的。
Q:我做的Flash影片加入到网页上,它老是循环播放,如何让它不循环呢?
A:在最后一帧上加入脚本stop()就可以了。
Q:如何判断一个浏览器安装了Flash插件?
A:在DW4中,使用Behavior中的check plugin就可以了,直接加入代码。
Q:MC、FS到底代表什么意思?
A:MC=Movie Clip。动画片段。FS=Fscommand,是Flash的一个非常重要的一个命令集合。
Q:能否加快我的Flash 动画的播放速度呢?
A:可以的。只要你在主菜单Modify\Movies(修改\影片),加大Frame rate(影格速度)的值便可,Flash默认的值是12。
Q:如何把一个FLA文件输出成和SWF一样的GIF文件?
A:先在Publish settings\format\Gif image(发布设置\格式\GIF影像),并对其进行相应的设置之后,用Publish(发布)功能便可输出GIF文件。如果FLA文件中含有MC,那么GIF文件中将不会包含MC中的动画,而将只将MC的第一帧转化为一个GIF片段处理,并且你所使用的脚本都将不会生效。如果你觉得输出质量不好,可以用Gif Animator软件修改。
Q:如何把一个圆画得更圆?
A:用画圆工具的时候,可以按住Shift键就可以了。
Q:如何调整场景播放的顺序?
A:可以在当前场景工作区点击右键,选择scene,然后在对话框中进行排序就可以了
Q:如何把一个SWF动画文件生成一个EXE可执行文件?
A:在Flash Player中的File\Create Projector就可以生成一个EXE文件了,但是他要比原来的SWF文件大200K到300K。
Q:Flash的动画背景可以是透明的吗?如何设置?
A:当然可以,在发布设定中的HTML栏中有一项是窗口模式,选透明的窗口一项就可以了。若是在HTML中引用Flash可在HTML文件中的前加上下面的语句: 。不过透明只能在IE中可以,在NC中便失效了。
Q:请问哪种格式(后缀)为矢量图?请问用哪个软件可以浏览这些矢量图?
A:*.ai *.eps *.wmf *.cdr,其中前面三种可以在Flash中直接引用。CDR格式需转换成前三种格式方可引用。如果你安装了CorelDRAW 便可以在资源管理器中直接预览CDR格式的图形。其他格式的文件,目前还没有软件能够像ACDSee浏览普通图片一样大量浏览。
Q:如何禁止菜单、Zoom In(Out)功能,如何完成双击SWF文件时直接全屏?
A:在第一帧中输入下面命令:
全屏→FS Command (“fullscreen”,true)
禁止缩放→FS Command (“allowscale”,False)(即使使用了ctrl+f,也不会放大)
禁止菜单→FS Command (“showmenu”,False)
执行文件→FS Command (“exec”,name.exe)执行同一目录的可执行文件name.exe
快速退出→FS Command (“quit”)关闭Flash Player
Q:国内有哪些地方提供矢量图库和音效?
A:音效:http://wav.126.com (老牌的音效站点)
http://www.soundamerica.com/ (国外著名的音效站点)
综合类:www.newflash.com

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:04:04 |显示全部楼层

flash专栏

用Flash根据客户端时间播放不同影片
我们看到过有的网页在不同时间段显示不同内容,例如早上显示“早上好”,晚上显示“晚上好”,这是因为在网页中运用了JavaScript语言。我们能不能在Flash根据客户端时间播放不同影片呢?答案是肯定的。而且Flash中运用的Action语言与JavaScript语言极为相似。
比如我们要在O点至8点时刻播放影片1,9点至16点播放影片2,17点至23点播放影片3。
首先打开Flash,在第一帧加入空白帧,在Action中写入
var day = new Date?(year,month,date,hour,min,sec,ms);?
var hr = day.getHours(); ※从当前日期取得时间
if ?((hr>=0) && (hr<=8)){※如果时间在0点至8点
gotoAndStop (2); 跳转并停止到第2帧
?}
if((hr>8))&& (hr<=16)){※如果时间在9点至16点
gotoAndStop (3); 跳转并停止到第3帧
?}
if ((hr>16) && (hr<=23)){※如果时间在17点至23点
gotoAndStop (4); 跳转并停止到第4帧
?}
然后建立3个MC,各MC内容最到与所处时间段有关,比如太阳升起、太阳落下、满天星星等。相信大家对建MC这类得基本功都很熟悉了,我就不多说了,最后在第2、3、4帧中各加入关键帧,将3各MC分别放入2、3、4帧中,便大功告成了,快Ctrl+Enter看看。
你也可以根据以上方法,将一天划分更多的时间段,这样影片的更换会更明显。还可以实现在不同时间段播放不同的背景音乐,只要将MC中的影片改为声音便行了。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:05:00 |显示全部楼层

flash专栏

用Flash结合ASP制作计数器
虽然现在有很多网站提供免费的计数器,如果自己能动手做一个不是更好吗?所以今天我就教大家通过Flash结合ASP来制作计数器。
1.新建一个文件,把当前层命名为“背景”,可以自己选择颜色,你也可以在此层中加入Movie Clip,这样可以让你的计数层更加动感,这可是文本计数器不可能实现的。再新建一层,命名为“数字”,用来存放计数器的显示数字。
2.按“Ctrl+F8”新建一个“Movie Clip”,命名为“number”。在时间线中插入10帧,每一帧填写一个数字(从0~9),并用“Ctrl+K”来调整位置。回到背景层中,用“Ctrl+L”打开库。拖出6个“number”符号,用“Ctrl+K”调整位置,让它们之间的距离保持相等。打开菜单Modify→Instance面板,把它们从左到右命名为“100000”、“10000”、“1000”、“100”、“10”、“1”。
3.计数器是由数据库来存放访问数记录的,每次打开时应该加上1位数字,所以我们就需要创建数据库文件。首先启动Microsoft Access(本人使用的是Access97),新建一个数据库,在新表中建一个字段“Count”,类型为整数。把这个表也命名为“Count”。打开任务栏中PWS图标的设置窗口,把计数器所在的目录定义为“Counter”的虚拟目录,并允许执行脚本程序。在Windows的控制面板里双击“ODBC数据源(32位)”图标,为数据库加一个系统DSN,命名为“Counter”。
4.现在让我们回到Flash中,新建层“Action”用来存放脚本程序。选中第一帧,在脚本面板中写下Aciton(我们可以按面板右边的小三角转到Expert mode模式)?
count = “12345”?
tellTarget (“/1”) {
stop ();??
j = /:count.length;
i = /:count.charAt(j-1);
gotoAndStop (++i);
}
tellTarget (“/10”) {
stop ();
j = /:count.length;
I = /:count.charAt(j-2);
gotoAndStop (++i);
}
tellTarget (“/100”) {
stop ();
j = /:count.length;
I = /:count.charAt(j-3);
gotoAndStop (++i);
}
tellTarget (“/1000”)?{?
stop ();
j = /:count.length;
I = /:count.charAt(j-4);
gotoAndStop (++i);
}
tellTarget (“/10000”) {
stop ();
j = /:count.length;
I = /:count.charAt(j-5);
gotoAndStop (++i);
}
tellTarget (“/100000”) {
stop ();
j = /:count.length;
I = /:count.charAt(j-6);
gotoAndStop (++i);
}
以上的脚本程序中,我们把变量Count值设为“12345”。现在可以按Ctrl+Enter来测试是否能正确地把一个内容为数字的字符串转换为用Movie Clip表示图形数字。
接下来我们就开始编写ASP程序?我们可以使用UltrEdit32或UltraDev4等软件来进行编写:
5.建立新文件,命名为“Counter.asp”。工作流程应该是通过系统DSN建立与数据库“Counter.mdb”的连接,取出存在Count表里的数字值,并把这个值另加1以后存回数据库,最后把没有加1的数值返回给脚本程序,存入Count变量中。按照这样的思路,“Counter.asp”的代码应该这样写:
<%
count = 0
Set objConn=Server.CreateObject(“ADODB.Connection”)
ObjConn.Open(“DSN=counter”)
StrQuery=“SELECT * FROM count”
Set objRs=objConn.Execute(strQuery)
Count=objRs(“count”)
StrQuery=“UPDATE count SET count=” & count+1
ObjConn.Execute (strQuery)
ObjRs.Close
Set objRs=Nothing
ObjConn.Close
Set objConn=Nothing
Response.Write(“count=”&count)
%>
写好之后我们就可以用浏览器不断刷新来对它进行测试,看是否每次数值会增加1。
6.最后我们要做的就是把ASP程序和Flash脚本程序结合起来。回到Flash中在时间线上选中“Action”层和“数字”层的第1帧向后拖到第3帧。然后在“Action”层第1、2帧用F6插入关键帧。在“数字”层第1帧插入关键帧,第2帧用F5沿用。在“背景”层中第3帧用F5沿用第1帧内容。
选中“Aciton”层的第1帧里写下:
count = 0
tellTarget (“1”) {?
gotoAndstop (1);
}
tellTarget (“10”) {?
gotoAndstop (1);
}
tellTarget (“100”) {?
gotoAndstop (1);
}
tellTarget (“1000”) {?
gotoAndstop (1);
}
tellTarget (“10000”) {?
gotoAndstop (1);
}
tellTarget (“100000”) {?
gotoAndstop (1);
}
loadVariables (“counter.asp”,“”);
程序使每一个数字显示为“0”,在最后高速为“Counter.asp”。为了使原来的脚本增加新的判断,下面就对它进行修改:
if ?count <> 0) {?
tellTarget (“/1”) {
stop ();??
j = /:count.length;
i = /:count.charAt(j-1);
gotoAndStop (++i);
}
tellTarget (“/10”) {?
stop ();?
j = /:count.length;
I = /:count.charAt(j-2);
gotoAndStop (++i);
}
tellTarget (“/100”) {
stop ();?
j = /:count.length;
I = /:count.charAt(j-3);
gotoAndStop (++i);
}
tellTarget (“/1000”) {?
stop ();?
j = /:count.length;
I = /:count.charAt(j-4);
gotoAndStop (++i);
}
tellTarget (“/10000”) {?
stop ();?
j = /:count.length;
I = /:count.charAt(j-5);
gotoAndStop (++i);
}
tellTarget (“/100000”) {?
stop ();?
j = /:count.length;
I = /:count.charAt(j-6);
gotoAndStop (++i);
}
stop ();
} else {
gotoAndPlay (2);
)
至此计数器就做好了,可以把它放在浏览器中测试了。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:05:31 |显示全部楼层

flash专栏

在Flash中使用ASP
Flash可以与ASP结合使用吗?经过反复实践,终于发现其中窍门,现特将成果共享,希望对Flash爱好者有所帮助。
一、在Flash中使用ASP需要的条件
1.你的ISP的Server必须支持Active Server Pages并且最好支持数据库;
2.你应该要安装Flash 4;
3.需要你对ASP有初步的了解;
OK,下文将具体介绍怎么使用。
二、数据库结构
1.建立数据库。
本例中使用Access数据库,表名为tblStaff,有三个字段:strID(自动编号),strKnownAs(Text),strSurname(Text)。
这是一个用来示范用户名的数据库,随便加些数据吧。
2.建立一个Flash 4的动画
1)建立三个text field,它们是用来显示数据用的;
2)把第一个text field的name设置为Input,它是用来接收输入数据的;
3)另外两个text field分别命名为KnownAs和Surname;
4)其它设置先为默认;
5)最后,从Flash的library中选择增加一个按钮,这是一个可重用的组件ScrollBarButton;
这是很重要的一步,按钮将把输入的变量传递给ASP页面到按钮的属性(Properties)上,单击Action页,单击“+”号和OnMouseEvent,勾上Release框;
6)再次单击“+”号和Load/Unload Movie,选择“Load Variables IntoLocation”;在URL输入框内输入你的ASP文件名(例如flash.asp),选择Target;
7)最后,选择Variables中的Send using POST。 单击“+”号来设置变量,在Variable输入框内输入“Input”(就是第一个text field的name)。
8)当上面的工作都完成后,你应该在Action box内看到如下内容:
On (Release)
Load Variables("flash.asp", "", vars=POST)
Set Variable: "Input" = ""
End On
这样,当在动画回放过程中这个按钮被点击并释放后,Input输入框中的内容将被传递给flash.asp文件。
注意form是使用的post方式传递变量的。
9)现在建立一个HTML页面,在其中包含这个Flash动画文件。
三、ASP文件的代码

需要注意的是在把KnownAs和Surname传递回去的写法,将是这样的KnownAs=Data1&Surname=Data2
使用Server,URLEncode(VariableName)来保证传递过去变量的是按照 URL格式编码的。
下面简单介绍一下ASP和Flash通讯的原理:
变量其实都是通过URL传递给Flash的,这是一种GET方法,你不使用ASP也可以把变量传递给一个swf文件的,只要这样:

VALUE="myMovie.swf?myVariable=Text+of+my+variable">
接着文本“Text of my variable”将会出现在Flash的动画中指定的位置。
好了,现在对于ASP的开发者来说,只要把Flash所需要的数据准备好,然后利用Flash中的动画功能就可以做出强劲的网页出来了。最简单的是利用Flash结合数据库画一个很漂亮的饼图,呵呵。反正只要大家能够想象就可以做出很多很好的东西出来的。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:06:22 |显示全部楼层

flash专栏

给Flash动画加入时间显示

网页动画越来越钟情于Flash,在网上随处都可看到Flash的身影。同时,为了在网页中显示当前日期,网页中一般都是采用了JavaScript。那我们可不可以免去JavaScript而用Flash来显示当前日期呢?在Flash5中我们只需利用Date对象的getFullYear、getMonth、getDate和getDay四种方法,就可给一个动画加入年、月、日和星期的时间显示。
1.在场景中做好动画后,按“Ctrl+F8”,新建一个Movie Clip,在工作区输入一段文字,如“今天是2001年10月18日星期四”,然后选定这个文字对象,打开Text菜单的Options命令,在Text Options面板中选Dynamic Text,在Variable处输入DateText作为这一文字对象的变量名。
2.按Layer面板的“+”号,新建一层,在第一帧处单击右键,从右键菜单中选择“Action”命令,打开“Frame Action”面板,按Ctrl+E进入专家模式,输入如下脚本:
newDate = new Date();
DateText = ("今天是"+newDate.getFullYear()+"年"+(newDate.getMonth()+1)+"月"+newDate.getDate()+"日"+"星期"+newDate.getDay());?
if ( newDate.getDay()==0 ){
DateText = ("今天是"+newDate.getFullYear()+"年"+(newDate.getMonth()+1)+"月"+newDate.getDate()+"日"+"星期日");
}?
这段脚本获取系统的年、月、日及星期的时间信息,然后赋值给DateText变量,让它在文本框中显示。getDay方法获得的星期日会显示为星期0,因此须用IF语句作转化。(注:脚本中的中文在专家模式中输入时有时可能会显示为其它字符,不必管它就行了,在文本框中输出它会得到正常显示)。为了保证在午夜0时动画自动刷新日期,在新建层的第二帧处插入空白关键帧,为这一帧加入如下脚本即可:
gotoAndPlay(1);
2.回到场景中,新建一层来放置这个刚建好的Movie Clip,按“Ctrl+L”打开库面板,把它拖出,调整它在动画中的位置。按“Ctrl+Enter”键预览效果。
3.导出影片为SWF文件,把它插入到网页中,动画便可在网页中显示当前日期了。
Flash5中date对象还有多种方法,我们调用它还可以显示其它各种时间信息,自己试试吧。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:07:26 |显示全部楼层

flash专栏

动感网页Flash造──Flash Action实战
经常上网的网友对Flash制作的动感网页一定都不陌生,Flash打造的动态网页具有HTML网页不可比拟的效果,更加的炫目。然而刚开始接触Flash的朋友,大部分都对交互网页方面有些头怵,因为那必须具有Action的编程能力。其实这根本就不可怕,交互网页方面并没有应用到多么高深的编程,只要你懂得一点帧控制和鼠标事件的处理方法,就可以制作出动态网页了。如果你并不具备这方面知识,那么请跟我动手制作以下的导航条和帧控制,相信你会很快入门成为一个交互多媒体网页设计师。
目标效果(图1图):
一幅Cool图,然后是每个导航条在依照着自己的轨迹运动,当我们的鼠标指向按钮时,按钮的运动终止,鼠标离开按钮,按钮依旧运动,按下按钮后开始播放另一动画,当动画播放完毕,又回到主画面。很炫吧,跟我动手开始:
1.打开Flash,先制作出按钮,按钮的制作方法如下:
因为这个按钮不需要各个区域的按钮变幻,所以Up,Over,Down,Hit四个区域的按钮样式是相同的,在这里讲解一点按钮的制作方法,Flash中的按钮是用四种不同的样式来表示的(图2图),Up区是表示按钮的正常状态,Over区是表示按钮被指针指向时的状态,Down区是表示按钮被鼠标按下时的状态,Hit区表示按钮感应鼠标的区域。
2.然后插入一个Movie Clip(Ctrl+F8),将按钮拖入中心位置。
3.在Movie Clip上加入Action程序,在按钮上单击鼠标右键。选Action项加入代码:
on(press){
gotoandplay("scene2",1)
?}
//当鼠标单击时开始播放场景2
on (rollOver){ ?
stop();
}
//当鼠标指向按钮时,停止对象的运动
on (rollOut){ ?
play();
?}
//当鼠标离开时,继续对象的运动
4.在我们以后的制作当中,你不必拘束于场景2,你可以使用场景3,场景4,使每个按钮被按下时,时间轴转换到相应内容的场景就可以了。
5.在Movie Clip的时间轴上依次加入一到七个关键帧。
6.在第二帧上打开Window中的info面板,输入X坐标为300,第三帧是200,第四帧是-100,其实这些坐标是无所谓具体位置的,有一个原则掌握就行了,不能超出场景以外,最后一个关键帧的坐标与第一个相同。这样就可以使按钮循环播放了。
7.在七个关键帧上建立Motion动画,然后像我这样把它们拖到第二十帧,第三十帧,找一个你喜欢的地方(图3图)。
你已经依照我的办法制作好了相应的Movie Clip,每个Movie Clip中包含一个按钮,每个按钮依照自己独立的轨道运动,按钮被按下时都将转换到相应的场景。
现在你已经完成了主场景的控制方面的内容了。
8.现在我们来制作相应内容的场景。我想这方面朋友们会依照自己的把握做好演示的。
9.在每个场景的最后一帧加入Action如下:
gotoandplay("scene1",1)
//跳转到场景1,也就是主场景。
10.把Movie Clip都拖到场景1的第一帧里,用Window菜单下的Align面板使它们对齐,这个网站的雏形就完成了。再加上一个Cool音效作为背影音乐,是不是很美?还不快按“Ctrl+Enter”测试一下。
其实Flash制作的多媒体网站,基本上使用帧跳转命令和一些鼠标事件加以控制就可以了。接下来我们学习一点帧跳转命令和鼠标事件使用帧跳转的命令:
gotoandplay()
//使时间轴跳转到指定的帧并开始播放。
Gotoandstop()
//使时间轴跳转到指定的帧并停止播放。
Stop()
//时间轴停止在当前位置。
Play()
//时间轴在当前位置开始播放。
鼠标的按钮事件:
On(press)
//当按钮被鼠标单击时触发。
On(release)
//当鼠标在按钮上单击并且松开时触发。
On(releaseOutside)
//当鼠标在按钮上按下,拖到按钮以外释放时触发。
On(rollover)
//当鼠标指向按钮时触发。
On(rollout)
//当鼠标指向按钮然后离开时触发。
On(dragout)
//当鼠标按下按钮拖到按钮以外时触发。
On(dragover)
//在按纽以外按下鼠标拖到按钮上释放时触发。
这些函数对于多媒体网站的制作是相当有用的,大家可以举一反三,相信你会制作出高品质的炫目动态网页。
1.设计首页,加入导航条,每个按钮实现Movie Clip的跳转或是场景的跳转。
2.设计首页的画面,以形象页的形式出现,加入主体形象动画。
3.设计每个按钮所跳转的部分的Movie Clip或是场景的动画内容。
4.为按钮或是场景加入背景音乐。
5.制作帧跳转部分的Action脚本。
6.测试,输出。
当然多媒体形式不拘一格,只要深入学习Flash制作和多观赏国内外著名的多媒体网站,相信你也会成为一名出色的多媒体设计师,制作出完美的动态多媒体网站。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:08:13 |显示全部楼层

flash专栏

Flash移动导线例解
1.打开Flash,并且新建一个页面,各类选项均按默认值即可。
2.首先按主菜单“插入”的“建立符号”选项,建立一个新的符号元件。
3.给予这个符号一个名称,并选为“图形”性质(图1)。
4.输入一个文件来当符号,按主菜单“文件”的“输入”选项。
5.选择好输入文件的路径及文件,按下“打开文件”。
6.通过上述简单的步骤,图形就输入到Flash中了(图2),声音文件输入也是一样。
7.因为输入的天使是向左,想把它转换成向右,方法很简单。按主菜单“修改”中“转换”的“水平翻转”选项。
8.瞧!是不是转向右了呢(图3)?完成符号编辑后,右边有一排符号标签,按右边符号标签排列的箭头标签回到主画面。
9.这时就可以应用刚刚建立好的符号啦!按主选单“窗口”的“图库”选项。
10.出现一个图库的小窗口,里面会列出你在动画中所建立和使用到的符号。
11.拉住预览窗口中的符号,拉到编辑画面中,虚线方块就是该符号啦!放开后,符号就跑出来了。
12.接着就是开始应用“移动导线”。在图层1的位置按一下标签按钮,并选择“加入移动导线”选项。
13.这样便新增了一个图层,前面多了一个曲线的符号,代表图层1使用“移动导线”(图4)。
14.目前编辑状态在“移动导线”图层1的位置,使用工具列中的“铅笔”中的“曲线”,随便画一条曲线,主要是用来当符号的轨迹。
15.画完曲线后,可以做些小修改,使用工具列中的“S ”工具,将曲线拉得更漂亮,记住要先选取曲线(图5)。
16.鼠标从第2影格处,按住左键拉到第20影格处,再按F5键插入画面(图6所示)。
17.将鼠标移到第1影格的位置,接着拉住符号的中心,移动到轨迹上,你会看到符号中心出现一个小圆圈,只要将小圆圈移到轨迹上即可放开,记住要点选工具列中的“磁铁”工具,才会有小圆圈出现。
18.接着在第20影格处,按鼠标右键“插入关键画面”,复制第1影格画面。
19.将鼠标移到第20影格的位置,接着拉住符号的中心点,移动到轨迹上,你会看到符号中心出现一个小圆圈,只要将小圆圈移到轨迹S上即可放开(图7)。

20.接着在第1影格处,按鼠标右键“内容”选项。
21.产生Motion连续动画,记住选中“沿路径方向”选项(图8),因为我们使用了“移动导线”!
22.完成第1影格至第20影格的Motion设定后,接着把“移动导线”的图层“隐藏”起来(图9)。
23.这个“移动导线”图层的标签就会变成一个打叉的眼睛,代表隐藏起来,播放动画时不会显示出来。
24.完工啦!可以输出作品啦!

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-25 21:09:01 |显示全部楼层

flash专栏

[这个贴子最后由夜飞鹰在 2003/09/26 07:10pm 第 1 次编辑]

论坛上常说的MC、FS、AS代表什么意思?
MC=MovieClip(动画片断);FS=FSCOMMAND,是Flash的一个非常重要的一个命令集合;AS=Action Script是Flash的编程语言。
请说一下MC的详细运用,它和一般的层有什么区别?它用在什么情况下?
MC你可以看成一个独立的对象。并且他是一段动画。他的特点就是无限嵌套。层是一个独立的空间,他可以更好的规划你的制作思路。一个层里有一个事件。
MC在场景中是如何播放的?
把MC拖到场景中,动画播放时它就会自动播放,如果你没有在最后一帧加上Stop,MC会默认为循环。要观看播放的效果须执行Ctrl+Enter。一个很长的MC放入场景中也只占据一帧的位置,如果它是一个很多帧的动画片段,执行时每隔一帧MC都会重放。
做“沿轨迹运动”的动画的时候,物件为什么总是沿直线运动?
首帧或尾帧物件的中心位置没有放在轨迹上。有一个简单的检查办法:你把屏幕大小设定为400%或更大,察看图形中间出现的圆圈是否对准了运动轨迹。
为什么在做封闭轨迹路径动画的时候,物件总沿着直线运动?
把封闭的路径去掉一点点试一试。
如何解决在Flash中做旋转转速问题?
Modify>Movie,将FrameRate后的文本框中的制调整一下即可(或者安Ctrl+M),或者将桢运动距离缩短。
文字按钮为什么不灵活?
你在制作按钮的时候,未指定HIT区(HIT区也就是按钮的触发区),特别在做文字按钮的时候,一般定义一个矩形来作为HIT区,如果未定义HIT区,系统会将文字作为按钮的触发区,在用的时候自然不是很灵活。HIT区域是隐藏的,在场景中并不会显示出来。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:53:30 |显示全部楼层

flash专栏

Flash 5的十大高招
许多爱好者虽然能作出不错的Flash动画,但他们对该软件本身还缺乏深刻的了解。一些搞美工的专业人员,有时又惧怕Flash中的Action代码部分。现就以Flash5为例,谈谈Flash5的一些较高级的技巧和心得。因为笔者就是一个见代码就头痛的人,所以与我有同感的朋友请放心,本文绝没有涉及Action的技巧。
第一招 遮罩的高级应用
深入理解遮罩(MASK),可产生一些很酷的效果。如:把静止的文字作为遮色片,移动渐变的小花纹图作为MASKED,可在文字轮廓内显示出小花纹的流动效果;把文字块保持静止,而不规则的遮色片逐渐扩张,能使文字产生一种不规则出没的效果;把产生移动渐变的文字块作为遮色片,利用与背景颜色一致的渐近色块作Show Masking,能让文字块产生一种淡入淡出的朦胧效果……还有很多很多,就看你的想象力和创意了。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:54:49 |显示全部楼层

flash专栏

第二招 位图的矢量化和矢量图的简化
矢量图容量小,放大无失真,在Flash上应用有无可比拟的优点。很多软件都可以把位图转换为矢量图,但实际上Flash5已提供了把位图转换为矢量图的方法,简单有效。
先按“Ctrl+R”导入需转换的位图,选菜单:Modify>TraceBitmap。在弹出的对话框中,把“Color”和“MinimumArea”设置得越低,后两项设置得越加紧密、越多转角(即下拉菜单越偏前面的选项),则得到的图形文件会越大,转换出的画面也越精细。对于节点复杂的矢量图,可按“Ctrl+Alt+Shift+C”键进行优化,可大幅降低图片容量。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:56:09 |显示全部楼层

flash专栏

第三招 隐藏浏览器中的Flash右键菜单
在浏览器中用鼠标右键点击Flash动画时,会弹出下拉菜单,你是不是觉得很烦呢?去掉它!在Flash 5中可轻松做到这一点。按Ctrl+Shift+F12弹出“PublishSettings”对话框,在“Dimensions”下拉框选“Percent”,不勾选“DisplayMenu”,然后发布即可。但要注意,只有在HTML页面中才会有效,单独播放Flash文件是不会有作用的。这个效果在Flash3中则要用AfterShock才能实现。另外,如果你用Dreamweaver插入Flash文件,那么在Flash属性框中也可以选择实现这一功能。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:56:49 |显示全部楼层

flash专栏

第四招 精确控制变形
在两个对象间做“Shape”变形时,是不是有时有种怪怪的感觉,觉得在乱变,不是柔和地变化。其实只要小心地处理一下就行了:选取“Shape”变形的第一帧,按“Ctrl+H”就可加上一个变形关键帧,同时在变形的最后一帧也会同步出现相应的关键帧。适当地选择关键帧的数量,调整关键帧的位置,就可实现精确的变形效果,就像影片《未来战士》中的液态金属人一样酷!

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:58:29 |显示全部楼层

flash专栏

第五招 音效的编辑技巧
在Flash5中音效可以编辑,不会吧?但这是事实,而且很简单,功能也不弱。在Frame Properties对话框的“Sound”选项中拖动那个小方块,就可实现音效的音量大小、淡入淡出等效果,一切就这么简单。你会了吗?

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 18:59:43 |显示全部楼层

flash专栏

第六招 控制背景音乐的开关
运用Flash5提供的普通关闭音乐功能,很难实现点击一个按钮就能随意控制音乐的效果。那么,这里到底有什么奥妙呢?其实方法很简单。先制作一个“音乐控制开关”的“MovieClip”,将两个同样的按钮放置在不同的影帧里,然后利用按钮的Action来切换这两个影帧,一个影帧放置背景音乐,并设定音乐为“Start”,另一个影帧里也放置背景音乐,但设定音乐为“Stop”。具体的Action我就不说了,因为我有言在先。不过笔者认为,作为一个Flash发烧友,这点Action是必不可少的。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 19:01:02 |显示全部楼层

flash专栏

第七招 输出GIF、AVI和MOV的问题
有的爱好者喜欢用Flash制作GIF动画,或因其他用处,需转换为AVI或MOV格式。但有时发现许多动画信息都无故丢失,究其原因是Flash动画中应用了MovieClip。准确地讲,这不算一个技巧,但往往会让一些初学者困惑。根本的解决办法只有一个,那就是动画中不要用MovieClip。当然你别再指望生成的GIF、AVI或MOV动画能支持SWF文件的交互了。

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 19:02:31 |显示全部楼层

flash专栏

第八招 网页中FLASH动画的透明和无边框处理
Flash动画能像GIF动画—样透明吗?普通的HTML页面内容可否重叠在Flash动画之上?答案是肯定的,在Flash 5中可轻松做到这一切。按“Ctrl+Shift+F12”弹出“Publish Settings”对话框,在“Window Mode”下拉框选“TransparentWindowless”即可。但要注意,其效果是在HTML页面中加入的,并非Flash文件本身具有这一属性。试想在网页中你可轻松地加上Flash的动画背景,并配上声音,有多酷啊。它的兼容性极强,浏览者即使无F1ash播放插件也不会影响页面的视觉效果(仅仅不显示Flash文件,不会有空白区域或图标)。从此Flash可以与HTML页面完全地融合,网页的革命已经到来!

136

主题

9

好友

29万

积分

版主

Member

Rank: 27Rank: 27Rank: 27

发表于 2003-9-26 19:03:35 |显示全部楼层

flash专栏

第九招 向日葵运动
假如要做一棵向日葵,围绕太阳作圆周运动。你可能觉得很简单:不就是让一棵向日葵沿一条圆形导线(Guide)作Motion吗?但如果要求向日葵旋转的同时,其花朵始终向着中心的太阳,又该怎么办呢?其实也很简单:在Frame Properties对话框的“Tweening”中勾选“Orient to PathDirection”即可。灵活采用这一方法,可产生好多意想不到的效果。
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|人教网 ( 京ICP备05019902号

GMT+8, 2018-2-25 17:22

回顶部