您的位置:首页 > 其它

MTM动画教程学习笔记1【第四章 渲染技术】

2013-11-23 20:54 489 查看
import flash.geom.Matrix;

import flash.display.GradientType;

import flash.geom.ColorTransform;

import flash.display.MovieClip;

import flash.filters.BlurFilter;

import flash.display.BitmapData;

import flash.display.Bitmap;

import flash.display.Loader;

import flash.net.URLRequest;

import flash.display.Sprite;

import fl.motion.Animator;

// 创建一个渐变填充的矩形

var max:Matrix = new Matrix;

max.createGradientBox(100,100,45,100,100);

graphics.beginGradientFill(GradientType.LINEAR,[0xff0000,0x0000ff],[0,1],[0,255],max);

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

graphics.endFill();

// 通过ColorTransform改变颜色

var tran:ColorTransform = new ColorTransform(-1,-1,-1,1,255,255,255,0);

// 新旧颜色转换公式 : newRed = oldRed * redMultiplier + redOffset

// Picture为元件库中导出类

// 如果不是在flash ide中,可以用[Embed(source = 'picture.jpg')]

//public var pic:Class;可以直接引用pic

var pic:Picture = new Picture();

addChild(pic);

(pic as MovieClip).transform.colorTransform = tran;

// 滤镜 每个显示对象都有filters属性 ,是一个包含着应用于对象的所有滤镜的数组

// 简单的滤镜使用

(pic as MovieClip).filters = [new BlurFilter(4,4,2)]; // 创建一个简单的模糊滤镜

// 位图显示

// Bitmap 和 BitmapData ,Bitmap继承于DisplayObject而bitmapdata继承于Object,所以bitmapdata不能够直接addChild到舞台

// 这就要用到Bitmap,Bitmap几乎只有一个功能,那就是把BitmapData显示出来

var bitmapData:BitmapData = new BitmapData(100,100,false,0xff0000) // 第三个参数表示是否支持alpha通道

var bitmap:Bitmap = new Bitmap(bitmapData);

addChild(bitmap);

bitmap.x = bitmap.y = 300;

// 到这可能会觉得bitmap不是和前面的grahics绘图一样吗,graphics绘制的是矢量图,而bitmap是位图,

// 位图的关键是每个像素都可以修改,getPixel,getPixel32,setPixel,setPixel32

for(var i:int = 0,len:int = 20; i < len ;++i)

{

for(var j:int = 0,jlen:int = 20; j< jlen;++j)

{

bitmapData.setPixel(i,j,Math.random() * 0xffffff); // 作用域bitmapData位图数据上

}

}

//加载或者嵌入内容

// 加载:Loader , Loader是一个显示对象,可以addChild到舞台

var loader:Loader = new Loader();

addChild(loader);

loader.load(new URLRequest('pic.jpg'));

// loader.addEventListener(Event,COMPLETE,fun);

//嵌入。[Embed] 元数据标签嵌入

[Embed(source = 'pic.jpg')] // [Embed(source = 'ani.swf')]

var Pic:Class;

[Embed(source = 'ani.swf')]

var Ani:Class;

var ani:Sprite = new Ani();

var pic:Bitmap = new Pic();

addChild(pic);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: