Flash动画基础教程①入门篇 一基本界面.docx

上传人:b****4 文档编号:3740834 上传时间:2022-11-25 格式:DOCX 页数:40 大小:516.88KB
下载 相关 举报
Flash动画基础教程①入门篇 一基本界面.docx_第1页
第1页 / 共40页
Flash动画基础教程①入门篇 一基本界面.docx_第2页
第2页 / 共40页
Flash动画基础教程①入门篇 一基本界面.docx_第3页
第3页 / 共40页
Flash动画基础教程①入门篇 一基本界面.docx_第4页
第4页 / 共40页
Flash动画基础教程①入门篇 一基本界面.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

Flash动画基础教程①入门篇 一基本界面.docx

《Flash动画基础教程①入门篇 一基本界面.docx》由会员分享,可在线阅读,更多相关《Flash动画基础教程①入门篇 一基本界面.docx(40页珍藏版)》请在冰豆网上搜索。

Flash动画基础教程①入门篇 一基本界面.docx

Flash动画基础教程①入门篇一基本界面

Flash动画基础教程①入门篇一、基本界面

首先我们来说说什么是Flash?

 Flash是Macromedia公司出品的软件,对于Flash是什么很多的描述,大致是“交互性矢量多媒体制作软件”的意思!

首先,它是一种多媒体制作软件,Flash的产品往往都是一些“有声有色”给人视觉冲击的动画。

其次,Flash是以矢量图为基础的,矢量图最大的特点就是它能无限的缩放,不会因为图像的缩放而改变其显示的质量。

最后,Flash的发展与网络是紧密相连的,其大量的特性是与网络相关的。

可以说,没有与网络的结合,Flash绝对不能取得现在的成功。

再让我们说说什么是闪客?

 闪客,Flasher,听说是国内Flash的先行者边城浪子的“回声咨询”(eastecho)中出现的,后来在他建立的“闪客帝国”(Flashempire)中流行开来的,是不是真的你问问他吧,我也是看了几本书才知道的!

呵呵!

随着Flash在国内的发展,闪客这个名称也深入人心,闪客的队伍也不断壮大。

 其实闪客们真正闪亮的是作品的灵魂——创意,比如“思妙”他们的“大话西游”和“蜗牛仔仔”,因为创意独特所以深受网民好评。

“卜桦”同志的“猫”,因她别具一格的风格和创意打动着每一位网民……

学习的二种误解

 我们在学习软件时常常会有两种误解,不知道我说的对不对。

一种就是我必须对软件完全熟悉掌握,才能做出优秀的作品。

这本没有什么不对,但是我们可以在学习上有所侧重,比如你专业是美术或者很喜欢绘画方面,那么你就侧重在美术和动画,Action略带基础的就可以了。

如果你是学的计算机编程或者对程序很感兴趣,可以侧重在Action脚本方面,动画懂的简单制作和编辑即可。

这是对初学者最好的训练方法,等你的这个方面强悍了,再可以攻另一个方面。

(本人意见仅供参考)

 另一方面误解就是必须用最新版本的Flash软件才能做出优秀的作品,这往往导致我们在追求最新版本的过程中迷失,因为现在软件更新的实在太快了,等你对新版本的功能掌握的差不多的时候,又有新的更新版本出来。

我个人赞同学习“第二位软件”,也就是比最新出版的软件低一个版本的软件来制作,因为大家都普遍了这个版本的软件,在制作方面自己也更熟练,而且也不会盲目的去查找一个按件,倒置工作的不方便。

(本人意见仅供参考)是不是说了很多废话?

那我们现在就直奔主题吧!

为了更好的学习Flash我还是选择了Flash-MX,废话不多说了。

启动Flash-MX,我们将其全貌尽收眼底,按Tab键可以控制所有浮动面板的开关,主界面如图1-1所示。

我们看到,Flash-MX对原版本Flash5的功能与界面上都进行了完善与补充。

下面我们对几个主要部分进行介绍。

工具条

如图1-2所示,显示了工具条各图标的含义。

图1-2工具条示意图

基本的编辑操作的快捷件

Undo取消Ctrl+Z

Redo重来Ctrl+Y

Delete删除Delete

Cut剪切Ctrl+X

Copy拷贝Ctrl+C

Paste粘贴Ctrl+V

Duplicate复制Ctrl+D

Group群组Ctrl+G

Ungroup取消群组Ctrl+Shift+Z

BreakApart打散Ctrl+B

Select选择点击鼠标左键

Select选择点击鼠标左键

增减一个选择Shift键+鼠标左键

SelectAll全部选择Ctrl+A

DeseleteAll取消选择Ctrl+Shift+A

ZoomIn放大视图Ctrl+=

ZoomOut缩小视图Ctrl+-

开/关浮动面板Tab键

EditSymbol编辑SymbolCtrl+E

ModifyMovie更改影片Ctrl+M

TestMovie测试影片Ctrl+Enter

TestScene测试场景Ctrl+Alt+Enter

时间轴

如图1-3所示,显示了时间轴区域的各种帧的图标及各洋葱皮按钮和状态栏的含义。

图1-3时间抽区域示意图

图层区

如图1-4所示,显示了图层区域各图标的含义。

图1-4图层区域示意图

工具栏

如图1-5所示,Flash-MX工具栏分为“绘图工具栏(Tools)”、“颜色工具栏(Colors)”、“视图工具栏(View)”、“辅助工具栏(Options)”,每个分工具栏都有一些对应的子功能或选项。

图标对应的都有相应的快捷键。

图1-5工具栏及相应快捷键示意图

好了!

例出了这么多的图标含义和快捷键,相信大家也有所了解了吧。

大家休息一下眼睛,我们接着进入下面一个环节。

  <1>、遮羞布

我们先来做一块“遮羞布”,这个东东是能把舞台外部其余裸露的部分遮住的东西,也就是说我们有时候会把舞台内的东西放出舞台或者是做动画的时候需要一半这个元件,但是它会在舞台外部出现,我们按“Ctrl+Enter”生成的时候,会发现在舞台外面也出现了半露着的这个东西。

不要紧,现在我们就做一块“遮羞布”来掩盖住所有在场景外面东西。

大家不要用石头扔我,我知道有很多人都说过这个,而且思秒动画也做的非常详细,可是有些人还是想彻底的用文字和图形知道,那我就不厌其烦的再说一次!

-_-

将Flash动画添加到PowerPoint文稿中

 有一些动画设置功能,但是仍然不能满足我们的需要。

我们通常用Flash来制作动画。

你可以按下面的操作,将Flash动画添加到演示文稿。

如果采用普通的插入对象方法将Flash动画文件插入到文稿中,不能正常插放,需要用控件来实现:

执行“视图→工具栏→控件工具箱”命令,展开“控件工具箱”,单击其中的“其他控件”按钮(参见图1),在随后弹出的下拉列表中,选择“ShockwaveFlashObject”选项,然后在幻灯片中拖拉出一个矩形框(此为播放窗口)。

图1

  右击播放窗口,在随后弹出的快捷菜单中,选择“属性”选项,打开“属性”对话框(如图2),在“Movie”后面的方框中输入Flash动画文件的路径用文件名称(包括扩展名.swf),关闭对话框即可(播放过程参见图3)。

图2lashMX2004中的XML应用之原理篇

 

一、有关XML

  1、XML入门知识

  XML(eXtensibleMarkupLanguage)是一种具有数据描述功能(Meta-language)、高度结构性及可验证性的语言。

和HTML一样,XML同样使用了标记和属性;和HTML最大的不同在于XML的标记和属性允许用户自行定义,并可以依照所定义的标记与属性的语法来开发应用程序。

XML采用了开放架构设计,它允许在Internet上的任何平台或语言之间交换数据。

这项技术已经被广泛采用,目前几乎难以找到一个不以某种方式使用XML的应用程序。

  一个简单的XML文件如下所示:

XML入门知识

撰写XML

为什么是XML

  在Flash中涉及的XML不会很复杂,能看懂类似上面这样的XML文件,足已对付。

  2、为什么在Flash中用XML

  首先,大多数浏览器限制了URL为256个字符(包括查询字符串数据)。

而XML对象没有这样的限制,这就使它成为将数据库内容加入Flash动画的一个理想方法。

  其次,XML对象允许输入和集成任何Web上的XML格式的数据到Flash中,Flash能够将XML数据和精彩的动画及声音无缝结合起来。

另外,Flash几乎拥有在任何平台上处理XML的能力。

一般来说,大多数XML转换是在服务器端处理的,因为浏览器对XML的支持不是很完全。

但是,Flash载入一个外部XML文件如果超过15秒就会超时,它不会再进行载入,FlashPlayer和动画会停止。

同样的,在浏览器中使用load或sendAndLoad载入64K或更大的数据会导致性能问题。

其特征包括服务器应答"Error501-NotImplemented"或浏览器的无响应状态。

FlashPlayer也不能从外部Web站点上载入XML文件。

Flash动画只能从它自己的域里载入XML数据。

例如,一个在上的Flash动画就不能从读取或载入XML数据。

二、Flash中XML应用的原理

  从FlashMX开始,对XML的支持已经初具规模,在FlashMX2004中得到了加强,现在用FlashMX2004来做有关XML的应用已经很方便了。

在FlashMX2004中使用XML主要有两种方式,使用XML对象和使用XMLSocket对象。

使用XML对象应用的是HTTP的通讯方式,而使用XMLSocket对象应用的是Socket的通讯方式,两者有比较大的区别。

  下面分别介绍使用XML的两种方式。

  1、使用XML对象

  在网络应用中,使用XML对象应用HTTP的通讯方式,基本的通讯模式仍然是请求响应。

先在Flash中对数据进行处理,生成XML树,然后通过HTTP的通讯方式将XML文件发送到服务器端。

在服务器端,先对接收到的XML树进行解释,再根据流程做相应的操作,比如读写数据库或其他的资源,然后生成XML树,通过HTTP的通讯方式将XML文件发送到Flash端。

最后在Flash端接收XML文件,对XML树进行解释,对相应的数据进行操作,如此循环。

其通讯原理请参考图1。

下面分别介绍Flash端和服务器端的东西。

  A、Flash端:

主要用到XML对象中的send()、load()、sendAndLoad()、onLoad()、onData()及其他操纵XML树的方法与事件。

  比如,生成XML树的代码如下:

loginXML=newXML();//生成一个XML对象

loginElement=loginXML.createElement("LOGIN");//生成一个元素

loginElement.attributes.username=username;//设置元素的属性

loginElement.attributes.password=password;

loginXML.appendChild(loginElement);//将所生成的元素加到XML对象

解释XML树的代码如下:

loginReplyXML=newXML();//生成一个响应的XML对象

loginReplyXML.onLoad=onLoginReply();//设置响应XML对象下载事件的函数

functiononLoginReply(){//对返回的XML文件进行操作

vare=this.firstChild;//解释返回的XML文件

if(e.nodeName=="LOGINREPLY"&&e.attributes.status=="OK"){

//根据返回的XML文件中的数据做相应的操作

gotoAndStop("success");

}else{

gotoAndStop("loginFailed");

}}

有关XML数据的通讯代码如下:

loginXML.sendAndLoad("loginReplyXML);

//根据URL去取响应的XML文件到响应的XML对象中

B、在服务器端:

常用的工具有Asp、Jsp、PHP、Perl等等脚本语言,它们所起的作用是操纵XML树和数据的通讯。

下面以常用的Asp为例,解释XML树的代码为:

//创建一个新的DomDocument对象,存客户端传送过来的XML请求

varxmlLogin=newActiveXObject("Msxml2.DomDocument");

//从发送来的表单中取得数据

xmlLogin.loadXML(Request.Form());

//创建XML元素

varreElement=xmlLogin.documentElement;

//提取用户名和密码信息

password=reElement.attributes[0].nodeValue;

username=reElement.attributes[1].nodeValue;

生成XML树的代码为并发送的代码为:

//创建一个新的DomDocument对象,向客户端发送

varxmlRepley=newActiveXObject("Msxml2.DomDocument");

//创建一个简单的XML文件

xmlRepley.loadXML("");

//也是通过Write()的方法将XML文件返回到Flash端

Response.Write(xmlRepley.xml);

C、还有一种情况是操作本地的XML文件,无非也就是生成、解释XML文件,得到所要的数据,只不过不需要在服务器端做其他的操作了。

比如,读一个本地的XML文件的代码为:

playlist_xml=newXML();//创建一个XML对象

playlist_xml.ignoreWhite=true;//省略空白

playlist_xml.onLoad=function(success){//当加载XML文件成功的时候触发此函数

   trace("success");

}

playlist_xml.load("playlist.xml");//加载本地的XML文件

  值得说明的是,上面所涉及的代码都是举例而已,实际应用中的代码可能会复杂很多。

但其中的原理都是相通的,先生成XML文件,发送到服务器端,最后将服务器端返回的XML文件解释。

只要思路清晰,做起来就比较有效率,也不容易出错。

2、使用XMLSocket对象

  在网络通讯中,使用XMLSocket对象的通讯方式为Socket,(所谓的Socket,可以将它想象为一条通路,需要通讯的时候,在客户端跟服务器端建立一个连接,然后传送内容,通讯完毕后再撤销这个通路)。

Flash端跟服务器端的通讯模式为:

先在Flash端跟服务器端建立一个Socket连接,生成XML文件后,通过所建立的Socket连接将XML文件发送到服务器端,服务器端解释所接收到的文件,对数据进行相应的操作后,生成一个XML文件,通过Socket连接发送到Flash端,Flash端解释XML文件后就得到所需要的数据。

如此循环,操作完成后关闭Socket连接。

有点难懂,可以参考图2仔细想想。

  下面分别解释在Flash端跟服务器端的东西。

  A、在Flash端:

XMLSocket对象中,只有三个方法和四个事件,都是在Socket通讯时候用的,对XML文件的操作还是要靠XML对象。

比如,下面是一些简单的Socket操作:

//声明XMLSocket对象

varmySocket=newXMLSocket();

//根据IP地址和端口连接服务器

mySocket.connect("127.0.0.1",9980);

//连接成功与否的判断

mySocket.onConnect=function(sucess)else

}

//当接收到XML文档的时候,触发此函数

mySocket.onXML=function(xmlDoc)

  B、在服务器端:

选用服务器端的开发语言的标准是,起码要能够做Socket方面的操作(复杂的应用当中还需要多线程、负载平衡等方面的东西)。

比较常用的有C/C++、java,其他的比如Delphi、Vb等工具对Socket的操作就有点不方便。

要开发一个高效率、稳定、可扩展的服务器端程序并不是一件很简单的事情,最好能找点相应的资料深入学习一下,刚入门的时候,学习的重点可以放在Socket和多线程上面。

下面以比较流行的java语言来举例说明服务器端程序的简单架构:

//运用多线程防止服务器阻塞

publicclassMultiThreadServerextendsThread

{

privateServerSocketlisten_socket;

publicMultiThreadServer(intport)

{

try

{

listen_socket=newServerSocket(port);//创建一个服务器端的Socket

this.start();//启动多线程

}

catch(IOExceptione)//捕捉异常

}

//下面为服务器监听线程的主程序。

publicvoidrun()

{

while(true)//死循环,一直在端口上监听有无客户端的Socket连接

{

try

{

//有客户端连接上来,创建一个相应的Socket,并启动响应的函数

Socketclient_socket=listen_socket.accept();

SockStatesstate=newSockState(client_socket);

OperThreadoper=newOperThread(sstate);

}catch(Exceptionee)

{

System.out.print("MultiThreadServerrun:

"+ee.getMessage());

}

}

}

}

  3、XML在Flash中主要涉及两方面的应用,本地应用和网络应用。

  本地应用主要是存取XML文件中所保存的数据,这里所指的数据并不一定限定是文本数据,也可以是图片数据,声音数据等等。

比如可以用Flash+XML来做图片管理器,歌曲列表管理器,用处还是比较大的,也比较灵活。

  网络应用是XML在Flash中的主要用途,它的优缺点在前面内容中已经提到。

比如说,可以用来做电子商务方面的应用、论坛、聊天室等等。

Action简明解释

今天,我们就先把ACTION的简明解释介绍给大家,以方便大家在学习和制作中应用。

  顺序以FLASH 4的菜单为基准。

Goto  跳到一个指定的帧(Frame)

 Scene:

  指定Scene

 Frame:

Number,Label,Expression,NextFrame,PreviousFrame  可以选择Frame的编号,标号,通过表达式,下一帧,前一帧

 Expression:

  定义表达式

 Control:

GotoandPlay,GotoandStop  通过选择这个项目来确定到达指定的帧以后是继续播放还是停止

例子:

GotoandPlay

(1)  跳到第一帧播放

GotoNextFrame  跳到下一帧播放

GotoandStop("intro")  跳到标号为intro的帧播

Play  播放

Stop  停止

ToggleHighQuality  切换画面的细节程度

StopAllSounds  停止所有声音

GetURL  打开指定的网址

 URL:

  网址

 Windows:

_self,_blank,_parent,_top  打开网址时使用的目标

 Variables:

Don'tSend,SenduseGET,SendusePOST  变量的传递方式

例子:

GetURL("next.asp",window="_blank",vars=POST)  在新窗口中打开next.asp,并且传递参数

FScommand  调用命令

 Command:

  命令

 Arguments:

  参数

 Forstandaloneplayer:

fullscreen,allowscale,showmenu,exec,quit  播放器使用的固定命令和参数

例子:

FSCommand("fullscreen","true")  设置全屏幕播放

Load/UnloadMovie  调入/释放外部的影片

 Action:

Loadmovieintolocation,Unloadmoviefromlocation,Loadvariablesintolocation  可以选择是否调入新影片,释放已经调入的影片,调入变量

 URL:

  影片的网址

 Location:

Level,Target  调入的层,或者是某一目标对象的位置

 Variables:

Don'tSend,SenduseGET,SendusePOST  变量的传递方式

例子:

LoadMovie("test.swf",1)  把test.swf调入到第一层

LoadMovie("test.swf","loadit",vars=GET)  把test.swf调入到loadit目标对象的位置

UnloadMovie("loadit")  把loadit目标对象处的影片释放

LoadVariables("makeit.asp",2,vars=GET)  调用makeit.asp并接收返回的变量

TellTarget  指定目标对象

 Target:

  目标对象

例子:

BeginTellTarget("obj")  指定目标对象obj

EndTellTarget

IfFrameisLoaded  判断某帧是否调入

 Scene:

  指定场景

 Frame:

Number,Label,Expression  指定帧,标号或者表达式

 Expression:

  表达式

例子:

IfFrameIsLoaded(Scene1,"end")  判断场景一的标号为end的帧是否调入

EndFrameLoaded

OnMouseEvent  鼠标时间响应

 Event:

Press,Release,ReleaseOutside,RollOver,RollOut,DragOver,DragOut,KeyPress  各种事件:

按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下

例子:

On(Press)  鼠标按下的时候

EndOn

On(Key:

s)  键盘上s按下的时候

EndOn

If  判断条件是否成立

 Condition:

  条件

 AddElse/ElseIfclause  加入Else再次判断

例子:

If(a=10)  如果a=10那么……

EndIf

If(a=10)  如果a=10那么……不然……

Else

EndIf

Loop  循环

 Condition:

  条件

例子:

LoopWhile(a=10)  如果a=10那么循环

EndLoop

Call  调用函数帧或对象

 Frame:

  函数帧

例子:

Call("make")  调用make帧程序

Se

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1