Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Actio

1,290 views

Published on

  • Be the first to comment

  • Be the first to like this

Actio

  1. 1. Flash 动画入门
  2. 2. As3 简介 <ul><li>首先由编译器( flash cs 或 flex builder 自带)编译成“字节代码格式” ,字节代码被嵌入到 swf 文件之中 </li></ul><ul><li>Flash player 或 air 中的虚拟机解释执行 swf 文件中的字节代码 </li></ul>
  3. 3. Cs4 基础 <ul><li>界面介绍 </li></ul><ul><ul><li>舞台:显示对象放置的地方 </li></ul></ul><ul><ul><li>时间轴:帧和关键帧 </li></ul></ul><ul><ul><li>辅助面板:库、属性、动作等 </li></ul></ul><ul><li>元件:提高资源复用率,清晰组织文档资源 </li></ul><ul><ul><li>图形:静态图形 </li></ul></ul><ul><ul><li>影片剪辑:多帧、可添加代码 </li></ul></ul><ul><ul><li>一个独立的动画,一个 swf 文件可以看成是一个大的影片剪辑 </li></ul></ul><ul><ul><li>按钮:可添加代码,弹起、鼠标滑过、按下、弹起 </li></ul></ul>
  4. 4. as3 <ul><li>As3 基础语法 </li></ul><ul><li>As3 内置类 </li></ul>
  5. 5. 基本数据类型 <ul><li>int , Number , String , Boolean , uint , Object </li></ul><ul><li>所有非 int , Number , Boolean , uint 类型的未初始化的变量的值均为 null </li></ul><ul><ul><li>Number 类型的变量,默认值是 NaN (而非某个数字), NaN 是一个由 IEEE-754 标准定义的特殊值,它表示非数字的某个值 </li></ul></ul>
  6. 6. 定义变量 <ul><li>使用关键字 var ,变量名后用冒号续接数据类型,如 </li></ul><ul><li>var len:int=0; </li></ul>
  7. 7. 运算符 <ul><li>+ , - , * , / , % </li></ul><ul><li>< > <= >= is == != === !== </li></ul><ul><li>=== :值和类型都比较 </li></ul>
  8. 8. 程序流程控制 <ul><li>If </li></ul><ul><li>while </li></ul><ul><li>for </li></ul><ul><li>switch </li></ul><ul><li>if , while , for 和 switch 与 c 语言里的完全一样 </li></ul>
  9. 9. 函数 <ul><li>function FuncName(param:Type,…):Type </li></ul><ul><li>{ </li></ul><ul><li>……… </li></ul><ul><li>} </li></ul><ul><li>参数传递:值传递和引用传递 </li></ul><ul><li>值传递: Boolean 、 Number 、 int 、 uint 和 String </li></ul><ul><li>引用传递:非值传递的类型 </li></ul><ul><li>支持匿名函数 </li></ul><ul><li>var factorial:Function = function (x:uint) </li></ul><ul><li>{ return x*10; } </li></ul><ul><li>trace(factorial(5)); // 50 </li></ul>
  10. 10. OOP--- 类 <ul><li>Package (packName) </li></ul><ul><li>{ </li></ul><ul><ul><li>public class MyClass extends BaseClass </li></ul></ul><ul><ul><li>{ </li></ul></ul><ul><ul><ul><li>… . </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><li>} </li></ul><ul><li>import (packName.)MyClass </li></ul>
  11. 11. 显示编程 <ul><li>显示列表 </li></ul><ul><li>核心显示对象 </li></ul>
  12. 12. 显示列表
  13. 13. 例 1 :屏幕上绘制红色三角形 <ul><li>var triangle:Shape=new Shape;// 定义并创建三角形对象 </li></ul><ul><ul><li>triangle.graphics.beginFill(0xFF0000); // 设置绘图填充颜色 </li></ul></ul><ul><ul><li>triangle.graphics.moveTo(50, 0); // 绘图起始点 </li></ul></ul><ul><ul><li>triangle.graphics.lineTo(100, 100); </li></ul></ul><ul><ul><li>triangle.graphics.lineTo(0, 100); </li></ul></ul><ul><ul><li>triangle.graphics.lineTo(50, 0); </li></ul></ul><ul><ul><li>triangle.graphics.endFill(); </li></ul></ul><ul><ul><li>this.addChild(triangle);// 将绘制好的三角形添加到显示列表中 </li></ul></ul><ul><li>获取显示列表的一些信息 </li></ul><ul><li>trace(this.numChildren);// 1, 有一个子对象,即上面添加的三角形 </li></ul><ul><li>var ds:DisplayObject=this.getChildAt(0);// 获取三角形的引用 </li></ul><ul><li>ds.scaleX=2;// x 方向放大 2 倍 </li></ul>
  14. 14. 核心显示对象 DisplayObject 是抽象类,不能用其进行实例化
  15. 15. 显示对象基本属性 <ul><li>位置 :x , y (相对于其父节点) </li></ul><ul><li>大小: width , height </li></ul><ul><li>visible </li></ul><ul><li>alpha </li></ul><ul><li>mouseEnabled: 是否接收鼠标消息 </li></ul>
  16. 16. 显示对象基本操作 <ul><li>addChild </li></ul><ul><li>removeChildAt(index:int) </li></ul><ul><li>removeChild(obj:DisplayObject) </li></ul><ul><li>getChildAt </li></ul><ul><li>… </li></ul>
  17. 17. 事件 <ul><li>事件处理 </li></ul><ul><li>为对象添加某一事件添听器 </li></ul><ul><li>编写监听器函数 </li></ul><ul><li>如: </li></ul><ul><li>this.addEventListener(MouseEvent.CLICK,onMouseClick) </li></ul><ul><li>function onMouseClick(e:MouseEvent) </li></ul><ul><li>{ </li></ul><ul><li>… .. </li></ul><ul><li>} </li></ul><ul><li>回调参数 e 的类型必须是对应的事件类型 </li></ul>
  18. 18. 代码初始化 <ul><li>顺序 </li></ul><ul><li>doucument class </li></ul><ul><li>时间轴上的代码 </li></ul><ul><li>时间轴上元件内部的代码 </li></ul><ul><li>Note </li></ul><ul><li>时间轴上的变量都相当于全局变量,后一帧上的代码可以访问前一帧的变量,但是反过来却不行 </li></ul>

×