flash学习笔记(八)--动态创建图形和动画效果

第三篇 动态创建图形和动画效果

第十八章 使用过度效果相关类动态创建动画效果

  1. 创建过渡效果动画:

类fl.transitions/fl.transitions.easing

Lris:动态缩放的方形或圆形动画遮罩来显示影片剪辑对象

Tween:动态创建补间动画

transitionManager/transition:创建过渡效果

  1. 使用TransitionManager类:

1>第一种方法:start

import fl.transitions.*;

import fl.transitions.easing.*;

import flash.display.MovieClip;

 

//var myMovieClip_mc:MovieClip = new MovieClip();

TransitionManager.start(myMovieClip_mc,{type:Iris,direction:Transition.IN,duration:1000,easing:Strong.easeOut,startPoint:5,shape:Iris.CIRCLE});

2>或者使用下面方法:startTransition

var myTM:TransitionManager = new TransitionManager(myMovieClip_mc);

myTM.startTransition({type:Iris,direction:Transition.IN,duration:300,easing:Strong.easeOut,startPoint:21,shape:Iris.CIRCLE});

注意:startPoint和shape是过渡效果Iris的参数

3>关于参数transParams:

Type:过渡效果

Direction:过度方向transition.IN或者OUT

Duration:时间(毫秒)

Easing:缓动效果

4>遮帘过渡:

Blinds、numStrips条纹数1-50、dimension垂直0水平1

淡化过渡:

Fade

飞行过渡:

Fly、startPoint

光圈过渡:

Iris、startPoint、shape:Iris.SQUARE方形Iris.CIRCLE圆形

照片过渡:

Photo

像素溶解过渡:

PixelDissolve、xSections水平部分1-50、ySections垂直部分1-50

旋转过渡:

Rotate、ccw顺时针false逆时针true、degrees旋转总共度数1-9999

挤压过度:

Squeeze、dimension水平0垂直1

划入/划出过渡:

Wipe、startPoint

缩放过渡:

Zoom

注意:缓动参数

easing:  缓动模式
    None.easeIn          Regular.easeIn          Srong.easeIn           Back.easeIn          Elastic.easeIn
    None.easeInOut     Regular.easeInOut     Srong.easeInOut     Back.easeInOut     Elastic.easeInOut
    None.easeOut        Regular.easeOut       Srong.easeOut        Back.easeOut        Elastic.easeOut

从左到右 ,即从None到Elastic表示稳固系数,这里给运动的元件附加上一个虚拟的质量

    None    很轻,施力就动

    Regular    正常,同样施力就动 
    Srong.easeIn  比较重,需要施加更大的力, 给人的感觉就是动起来很费劲 

    Back.easeIn   运动之前,有一个向后的动作

    Elastic.easeIn  正式运动之前,会前后往复几次


从上到下, 即easeNone    没有缓动   (只有None有这个属性)
    easeIn      开始时缓动
    easeInOut   开始和结束时缓动
    easeOut     结束时缓动

  1. 使用Tween类动态创建补间动画:

1>     fl.Transitions.Tween类构造函数的语法格式:

var myTween:Tween = new Tween(obj,prop,func,begin,finish,duration,useSeconds);

  • obj:MC

prop:obj的属性x

func:缓动方法

begin:x开始值数字

finish:x结束值数字

duration:速度

useSeconds:true用秒,false用帧

例子:

import fl.transitions.Tween;

var myTween:Tween = new

Tween(myMovieClip_mc,"x",Elastic.easeOut,0,300,3,true);

2>     Tween属性方法事件:

方法:

fForward()/rewind():快进的结尾和倒退到开头

nextFrame()/preFrame:下一帧和上一帧

resume()/stop()/start():返回继续播放,停止,从头开始

toString:返回类名称

yoyo():补间动画相反方向播放

属性:

Duration/finish/FPS/position/time都是只读

事件:

motionChanged:属性更改触发

motionFinished:完成触发

motionResumed:返回触发

motionStarted:开始触发

motionStoped:停止触发

第十九章 使用滤镜动态处理影片剪辑以增加特效

  1. 滤镜的包:flash.filters

import flash.filters.BevelFilter;

import flash.filters.DropShadowFilter;

 

var filter_1:BevelFilter = new

BevelFilter(5,45,0xB5FFC8,1,0x44FF73,1,5,5,1,1,"inner",false);

var filter_2:DropShadowFilter = new

DropShadowFilter(5,45,0x0BD43D,1,12,12,1,1,false,false,false);

 

var myFilters:Array = test.filters;

myFilters.push(filter_1);

myFilters.push(filter_2);

 

test.filters = myFilters;

第二十章 动态处理图形和位图以增加特效

  1. 使用flash.geom包动态处理图形

ColorTransform:算术方法设置实例的RGB颜色值和颜色转换

Matrix:表示一个转换矩阵,将一个坐标映射到另一个坐标

Point:某个位置,x/y

Rectangle:创建和修改矩形对象

Transform:收集有关应用于对象实例的颜色转换和坐标处理的数据

  1. 使用ColorTransform类动态变换影片剪辑的颜色:

import flash.geom.ColorTransform;

import flash.geom.Transform;

 

var myColorTransform:ColorTransform = new ColorTransform(1,-1,-1,1,97,0,0,0);

var myTransform:Transform = new Transform(myMovieClip);

myTransform.colorTransform = myColorTransform;

  1. 使用Matrix类动态变换影片剪辑的形状:
  2. 使用Point类动态获取像素点:
  3. 使用Rectangle类动态获取对象的区域:
  4. 动态绘制图形Graphic:

import flash.display.MovieClip;

 

var myMovieClip:MovieClip = new MovieClip();

this.addChild(myMovieClip);

 

var X:Number = 100;

var Y:Number = 100;

var R:Number = 100;

 

myMovieClip.graphics.clear();

 

myMovieClip.graphics.lineStyle(1,0x6688AA);

myMovieClip.graphics.beginFill(0xAABBCC,50);

myMovieClip.graphics.moveTo(X,Y);

myMovieClip.graphics.lineTo(X+R,Y);

 

myMovieClip.graphics.curveTo(R+X,Math.tan(Math.PI/8)*R+Y,Math.sin(Math.PI/4)*R+X,Math.sin(Math.PI/4)*R+Y);

 

myMovieClip.graphics.lineTo(X,Y);

 

myMovieClip.graphics.endFill();

  1. 绘图的使用方法:

drawCircle():绘制圆形

drawEllipse():绘制椭圆

drawRect():绘制矩形

drawRounRect():绘制圆角矩形

例子:

import flash.display.MovieClip;

 

var myMovieClip:MovieClip = new MovieClip();

this.addChild(myMovieClip);

myMovieClip.graphics.clear();

//定义线条类型

myMovieClip.graphics.lineStyle(1,0x6688AA);

//开始填充

myMovieClip.graphics.beginFill(0xAABBCC,50);

myMovieClip.graphics.drawRect(50,50,200,100);

//关闭填充

myMovieClip.graphics.endFill();

  1. 使用BitmapData类和Bitmap类动态处理位图:

Var myBitmapData:BitmapData = new BitmapData(width,height,[透明度],[fillColor]);

不懂?

转载于:https://www.cnblogs.com/tinytiny/archive/2012/03/28/2420995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值