云南师范大学计算机科学与信息技术学院教育技术学——杨金平
实用的Flash技巧心得
许多爱好者虽然能作出不错的Flash动画,但他们对该软件本身还缺乏深刻的了解。一些搞美工的专业人员,有时又惧怕Flash中的Action代码部分。现就以Flash5为例,谈谈Flash
5的一些较高级的技巧和心得。因为笔者就是一个见代码就头痛的人,所以与我有同感的朋友请放心,本文绝没有涉及Action的技巧。
1.遮罩的高级应用
深入理解遮罩(MASK),可产生一些很酷的效果。如:把静止的文字作为遮色片,移动渐变的小花纹图作为MASKED,可在文字轮廓内显示出小花纹的流动效果;把文字块保持静止,而不规则的遮色片逐渐扩张,能使文字产生一种不规则出没的效果;把产生移动渐变的文字块作为遮色片,利用与背景颜色一致的渐近色块作Show Masking,能让文字块产生一种淡入淡出的朦胧效果??还有很多很多,就看你的想象力和创意了。
2.位图的矢量化和矢量图的简化
矢量图容量小,放大无失真,在Flash上应用有无可比拟的优点。很多软件都可以把位图转换为矢量图,但实际上Flash5已提供了把位图转换为矢量图的方法,简单有效。先按“Ctrl+R”导入需转换的位图,选菜单:Modify>Trace Bitmap。在弹出的对话框中,把“Color”和“Minimum Area”设置得越低,后两项设置得越加紧密、越多转角(即下拉菜单越偏前面的选项),则得到的图形文件会越大,转换出的画面也越精细。对于节点复杂的矢量图,可按“Ctrl+Alt+Shift+C”键进行优化,可大幅降低图片容量。
3.隐藏浏览器中的Flash右键菜单
在浏览器中用鼠标右键点击Flash动画时,会弹出下拉菜单,你是不是觉得很烦呢?去掉它!在Flash5中可轻松做到这一点。按Ctrl+Shift+F12弹出“Publish Settings”对话框,在“Dimensions”下拉框选“Percent”,不勾选“DisplayMenu”,然后发布即可。但要注意,只有在HTML页面中才会有效,单独播放Flash文件是不会有作用的。这个效果在Flash
3中则要用AfterShock才能实现。另外,如果你用Dreamweaver插入Flash文件,那么在Flash属性框中也可以选择实现这一功能。
4.精确控制变形
在两个对象间做“Shape”变形时,是不是有时有种怪怪的感觉,觉得在乱变,不是柔和地变化。其实只要小心地处理一下就行了:选取“Shape”变形的第一帧,按“Ctrl+H”就可加上一个变形关键帧,同时在变形的最后一帧也会同步出现相应的关键帧。适当地选择关键帧的数量,调整关键帧的位置,就可实现精确的变形效果,就像影片《未来战士》中的液态金属人一样酷!
5.音效的编辑技巧
在Flash 5中音效可以编辑,不会吧?但这是事实,而且很简单,功能也不弱。在Frame
Properties对话框的“Sound”选项中拖动那个小方块,就可实现音效的音量大小、淡入淡出等效果,一切就这么简单。你会了吗?
6.控制背景音乐的开关
运用Flash5提供的普通关闭音乐功能,很难实现点击一个按钮就能随意控制音乐的效果。那么,这里到底有什么奥妙呢?其实方法很简单。先制作一个“音乐控制开关”的“Movie
Clip”,将两个同样的按钮放置在不同的影帧里,然后利用按钮的Action来切换这两个影帧,一个影帧放置背景音乐,并设定音乐为“Start”,另一个影帧里也放置背景音乐,但设定音乐为“Stop”。具体的Action
1
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
我就不说了,因为我有言在先。不过笔者认为,作为一个Flash发烧友,这点Action是必不可少的。
7.输出GIF、AVI和MOV的问题
有的爱好者喜欢用Flash制作GIF动画,或因其他用处,需转换为AVI或MOV格式。但有时发现许多动画信息都无故丢失,究其原因是Flash动画中应用了Movie
Clip。准确地讲,这不算一个技巧,但往往会让一些初学者困惑。根本的解决办法只有一个,那就是动画中不要用Movie
Clip。当然你别再指望生成的GIF、AVI或MOV动画能支持SWF文件的交互了。
8.网页中FLASH动画的透明和无边框处理
Flash动画能像GIF动画那样透明吗?普通的HTML页面内容可否重叠在Flash动画之上?答案是肯定的,在Flash5中可轻松做到这一切。按“Ctrl+Shift+F12”弹出“Publish Settings”对话框,在“Window Mode”下拉框选“Transparent Windowless”即可。但要注意,其效果是在HTML页面中加入的,并非Flash文件本身具有这一属性。试想在网页中你可轻松地加上Flash的动画背景,并配上声音,有多酷啊。它的兼容性极强,浏览者即使无F1ash播放插件也不会影响页面的视觉效果(仅仅不显示Flash文件,不会有空白区域或图标)。从此Flash可以与HTML页面完全地融合,网页的革命已经到来!
9.向日葵运动
假如要做一棵向日葵,围绕太阳作圆周运动。你可能觉得很简单:不就是让一棵向日葵沿一条圆形导线(Guide)作Motion吗?但如果要求向日葵旋转的同时,其花朵始终向着中心的太阳,又该怎么办呢?其实也很简单:在FrameProperties对话框的“Tweening”中勾选“Orient to Path Direction”即可。灵活采用这一方法,可产生好多意想不到的效果。
10.如何能确定浏览者有没有安装支持Flash的插件,并提供安装方法
最简单的方法是用Dreamweaver来编写HTML,当插入一个Flash文件的时候,会自动在网页中插入一句代码。当用户没安装Flash插件的时候,会自动到Macmmedia的指定位置下载。但该站点服务器常常较忙,你可以使用Behavior中的“Check Plugin”指定任一“URL”下载。这似乎也算不上F1ash的应用技巧,但却至关重要。要知道目前在中国还有一部分电脑没有安装Flash播放器 10.教你如何制作Loading的简单方法
Loading制作方法是我们在Flash动画制作中经常遇到的问题,这里介绍一个非常简单的Loading实现代码。做一个100桢的MC动画;可以包含一个text的动态文本区。把该MC拖入主场景的首桢,并在首桢添加Stop,在该MC上加上如下代码: onClipEvent (load) { total = _root.getBytesTotal(); }
onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = int(loaded/total*100); text = percent+\gotoAndStop(percent); if (loaded == total) { _root.gotoAndPlay(2); } }
2
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
Flash中限定自由区域的拖拽
场景中有一个被拖拽的mc和一个自由区域的mc,分别用startDrag和hitTest。先拖拽,再用鼠标对自由区域的mc进行true的hitTest,然后记录位置,最后写回。具体代码如下: function update() {
if (area_mc.hitTest(_xmouse, _ymouse, true)) { temp_x = _xmouse; temp_y = _ymouse; } else {
handle_mc._x = temp_x; handle_mc._y = temp_y; } }
handle_mc.onPress = function() { drag = true; this.startDrag(); };
handle_mc.onRelease = handle_mc.onReleaseOutside = function () { drag = false; stopDrag(); update(); };
onMouseMove = function () { if (drag) { update(); } };
var drag, temp_x, temp_y;
如何在网页中实现flash的全屏播放?
A.只占满浏览器:这种情况相对简单,不管你制作的Flash大小是否为800×600,只要在调用swf文件的HTML中将WIDTH和HEIGHT的参数设为100%即可,当然也可以在Flash导出HTML文件的设置中进行设置,方法是:打开File菜单;选Publish Settings弹出导出设置对话框;在HTML标签下的Dimensions选项,下拉后选中Percent(百分比),并在WIDTH 和HEIGHT框中填100,运行这个与swf同名的HTML文件则与直接加语句效果相同。这种占满浏览器的全屏与swf文件的设置无关,但最好设置的大小在700×400左右,否则容易导致图像(主要是在Flash中调用的位图)、汉字的失真。
B.不显示浏览器菜单栏、工具栏的全屏。这种全屏稍稍复杂,与Flash的设置无关,但要借助JavaScript来完成。方法是:在HTML文件中的与之间加入以下代码,也可以在swf文件的第一帧Actions上的 get URL命令上加上:
javascript:window.open(″*.swf″,″″,\ 这种全屏类似屏保,用ALT+F4或设置按钮退出。把fullscreen设为=0,则是显示浏览器菜单栏、工具栏的全屏。(注:*.swf 是你所要显示的Flash动画的文件名)
3
云南师范大学计算机科学与信息技术学院教育技术学——杨金平
许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能。
Fscommand指令使用的语法是:Fscommand(\
Command是指令的相关命令,arguments是命令的参数。F
scommand指令的相关命令有quit\\fullscreen\\shoumenue\\exec和trapallkeys.其中,quit()没有参数,exec()的参数是应用程序的路径。Fullscreen(),showmenu(),trapallkeys()的参数是:true和false.
Exec()的作用是在放映文件swf中执行应用程序。Trapallkeys()的作用是:参数选择为true时,将所有按键事件包括快捷键发送到flash player中。
下面我们就来讲讲如何通过Fscommand指令来实现全屏播放、取消Flash播放时的右键菜单以及关闭Flash动画。
1、全屏播放Flash
“Fullscreen”是全屏的意思,在默认的情况下,Flash动画不是以全屏播放(false),如果需要让动画以全屏状态播放,就必须把Fullscreen命令设置为True,写为: Fscommand (\
根据需要,我们可以把它写到帧、按钮、MC(Movie Clip)中。 2、取消右键菜单
Showmenu命令是用来设置是(True)否(false)显示Flash动画播放器的快捷菜单的全部指令,即右击鼠标时弹出的菜单,默认为True,如果要取消弹出的菜单,必须在第一帧这样设置: Fscommand (\ 3、关闭动画
quit命令是用来关闭播放器的.swf和.exe文件,该命令没有参数,写为: fscommand (\;
如果你想在flash动画结束时出现一个关闭动画的按钮,可以按下面的步骤做。
执行“Insert”下的“New Symbol”(或按Ctrl+F8),在弹出的窗口中选Button,然后制作一个简单的按钮,回到场景中,选中最后一帧,从“Library”中把刚刚建立的按钮拖到场景中,因为该按钮在动画的最后才显示。
给按钮写上如下代码,则实现按下按钮即关闭flash动画。 on (release) {
fscommand (\ }
网页中插入FLASH代码的参数详解 参数和属性
下列标记属性和参数描述了由“发布”命令创建的 HTML 代码。在编写自己的用于显示 Flash 内容的 HTML 时,可以参考此列表。除非特别说明,否则所有条目都同时适用于 object 标记和 embed 标记。可选条目也在此列出。Internet Explorer 可以识别用于 object 标记的参数,而 Netscape 则可以识别用于 embed 标记的参数。属性既可用于 object 标记,也可用于 embed 标记。当自定义模板时,可以用此处列
4