flashplayer10以后开始支持硬件加速,目前支持openGL2.0。下面是一个实例,先贴上代码。
/**
tb
*/
package
{
import flash.display.Loader;
import flash.display.BitmapData;
import flash.display.Shader;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.net.URLRequest;
import flash.net.URLStream;
import flash.utils.ByteArray;
import flash.utils.Timer;
import flash.utils.getTimer;
public class TestShader extends Sprite
{
private var _shape:Shape=new Shape();
private var _bitmapData:BitmapData;
private var _shader:Shader = new Shader();
private var _sl:URLStream=new URLStream();
public function TestShader()
{
this.stage.scaleMode=StageScaleMode.NO_SCALE;
this.stage.align=StageAlign.TOP_LEFT;
this.stage.showDefaultContextMenu=false;
//===========================================
//加载图片
var imgloader:Loader=new Loader();
imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,imgComplete);
imgloader.load(new URLRequest("image.jpg"));
}
/**
* 加载图片完成
* @param event
*
*/
private function imgComplete(event:Event):void
{
_bitmapData=event.target.content.bitmapData;
_sl.addEventListener(Event.COMPLETE,shaderLoaded);
_sl.load(new URLRequest("Crystallize.pbj"));
}
/**
* 加载pbj文件完成
* @param event
*
*/
private function shaderLoaded(event:Event):void
{
var sls:URLStream= event.target as URLStream;
if(sls==null){
throw new Error("GLSL data is empty or load error");
}
var byArr:ByteArray=new ByteArray();
sls.readBytes(byArr);
//开始着色渲染
_shader.byteCode = byArr;
_shader.data.src.input = _bitmapData;
//添加显示
_shape.x=20;
_shape.y=20;
this.addChild(_shape);
//时间间隔
var time:Timer=new Timer(100);
time.addEventListener(TimerEvent.TIMER,onTime);
time.start();
}
/**
* 时间间隔,动态改变着色渲染
* @param event
*
*/
private function onTime(event:TimerEvent):void
{
_shader.data.size.value = [Math.sin(event.target.currentCount/100)*50];
_shape.graphics.clear();
_shape.graphics.beginShaderFill(_shader);
_shape.graphics.drawRect(0,0,200,200);
}
}
}
分享到:
相关推荐
Adobe Flash CS4是一款由Adobe公司推出的交互式矢量图和Web动画设计工具,它在Web开发领域占有重要的地位,尤其在创建动态网页内容、在线多媒体交互以及游戏制作方面有着广泛的应用。这款软件是Flash Professional...
### Flash CS4中文版经典教程知识点总结 #### 一、Adobe Flash CS4 Professional 软件简介 **Adobe Flash CS4 Professional** 是一款由Adobe公司推出的专业矢量动画创作工具,广泛应用于网络动画、游戏开发、...
《Flash CS4教程》 Adobe Flash CS4 Professional是一款强大的交互式多媒体创作工具,它被广泛应用于网页动画制作、游戏开发、视频编辑以及丰富的互联网应用程序(RIA)设计。本教程旨在帮助用户掌握Flash CS4的...
《Flash CS4帮助文档》是Adobe公司为用户提供的关于Flash CS4版本的详细教程和参考资料。这个PDF文件以及配套的在线文本文件(Flash CS4 Help_online.txt)旨在帮助用户掌握这款强大的矢量动画和交互式内容创作工具...
5. **组件与库管理**:学习如何使用Flash CS4的组件库,这些预设的可重用元素能加速开发过程。同时,理解如何管理和组织库资源,以便在项目中高效复用。 6. **动画制作**:通过传统补间、形状补间和骨骼动画,你...
FLASHCS4精华教程全面介绍了Flash CS4中文版的主要功能和面向实际的应用技巧
《深入探索Flash CS4源文件》 Flash CS4是一款经典的动画设计与开发工具,它以其强大的矢量图形绘制、交互式内容创作以及丰富的多媒体整合能力,一直以来都是数字媒体设计师的重要工具。本压缩包包含了多种类型的...
《Flash CS4动画制作教程》是一份专门为初学者设计的学习资料,旨在帮助用户掌握Adobe Flash CS4这款强大的动画创作工具。本教程详细介绍了Flash CS4的各项功能和动画制作的基本流程,旨在让学习者逐步理解并熟练...
**Flash CS4动画制作项目实训教程PPT** Flash CS4是Adobe公司开发的一款强大的二维动画创作工具,广泛应用于网页设计、游戏开发、教育演示、广告制作等领域。本实训教程PPT旨在帮助学习者掌握Flash CS4的核心功能和...
《Flash CS4动画设计》是关于使用Adobe Flash CS4这一专业动画制作软件进行动画创作的知识体系。Flash CS4是Flash系列中的一个重要版本,它在前代的基础上进行了许多改进,为设计师提供了更强大的工具和功能,使得...
《Flash CS4 官方帮助文档》是Adobe公司为用户提供的详尽教程,旨在帮助用户掌握Flash CS4的各项功能和操作技巧。这份官方PDF文档采用简体中文,为中文用户提供了方便的学习途径。Flash CS4作为一款强大的矢量图形...
Flash CS4是一款经典的动画设计和交互式媒体开发工具,由Adobe公司推出,广泛应用于网页、游戏、动画制作等领域。这款软件的本地中文帮助文件对于中国用户来说尤其重要,因为它提供了详细的操作指南和教程,帮助用户...
【标题】"FLASH CS4 AS3 整站源码"涉及的是Adobe Flash Professional CS4版本中的ActionScript 3(AS3)编程语言用于构建整个网站的源代码。这个标题表明了资源是为创建互动式、动态的企业级网站设计的,利用Flash...
《Flash CS4中文帮助与示例源文件详解》 Flash CS4是一款强大的动画设计和交互式内容创作工具,尤其在Web开发领域具有广泛的应用。它以其直观的界面、丰富的功能和强大的ActionScript 3.0支持,使得动态网页、游戏...
《Flash CS4板书教材》是一本专为初学者及有志于深入学习Flash CS4技术的读者设计的教程。本书全面涵盖了Flash CS4的基本概念、操作方法以及高级技巧,旨在帮助读者掌握这一强大的动画与交互式媒体设计工具。 1. **...
Adobe Flash CS4是一款由Adobe公司推出的交互式矢量和富媒体动画设计工具,主要用于创建动画、游戏、应用程序以及网络互动内容。此软件以其强大的动画编辑功能和对矢量图形的支持而闻名,是数字媒体创作者的重要工具...
OpenGL是计算机图形学领域的一个重要库,用于在各种操作系统和硬件平台上创建2D和3D图形。"模拟CS程序"可能是指使用OpenGL来构建类似Counter-Strike(简称CS)这样的第一人称射击游戏的模拟器。这个项目可能是为了...
《Flash CS4 帮助文件详解》 Flash CS4,作为Adobe公司推出的经典动画制作软件,为设计师和开发者提供了强大的交互式内容创作工具。其配套的帮助文件是学习和掌握这款软件的重要参考资料,旨在帮助用户深入理解软件...
《Flash CS4经典教程》是一份详尽的教育资源,旨在帮助初学者逐步掌握Adobe Flash CS4这一强大的动画和交互式内容创作工具。本教程通过深入浅出的方式,将复杂的概念和操作技巧分解为易于理解的步骤,使得学习者能够...
《Flash CS4电子书完整版教程》是一份详尽的教育资源,专为想要掌握Adobe Flash CS4这款强大的矢量动画和交互式设计软件的用户而准备。这份教程深入浅出地介绍了Flash CS4的各项功能,旨在帮助初学者快速上手,并...