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);
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);
相关文章推荐
- MTM动画教程学习笔记1【第五章 速度和加速度】
- MTM动画教程学习笔记1【第七章 用户交互:移动物体】
- MTM动画教程学习笔记1【第六章 边界和摩擦力】
- MTM动画教程学习笔记1【第三章 动画中的三角学】
- 《AIX 5L 系统管理技术》学习笔记之第四章系统管理工具SMIT
- 全国计算机等级考试网络技术(三级教程)学习笔记
- Python基础教程学习笔记----第四章 字典
- 全国计算机等级考试网络技术(三级教程)学习笔记2
- 1、后盾PHP豆瓣教程学习笔记:头部布局分析、切片技术、选择器命名规范
- 全国计算机等级考试网络技术(三级教程)学习笔记3
- AS3 高级动画教程学习之:等角投影笔记
- Unity Shader 学习笔记(31) 基于物理的渲染技术(PBS)、BRDF
- Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术
- WTL学习笔记(5)双缓冲技术和动画(BufferedPaint)
- 【jQuery】jQuery官方基本教程的学习笔记3-动画效果Effects
- Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)
- 黑客学习笔记教程之四:嗅探技术
- 黑客学习笔记教程六:木马传播技术
- 黑客学习笔记教程五:木马技术
- 学习笔记:《jQuery基础教程》第四版第四章课后练习——样式与动画