Forked from: northprint's Pixel Bender Test -No.2 blendShader diff:40 forked from: Pixel Bender Test -No.2 blendShader Pixel Bender Test northprint forked:1favorite:0lines:88license : All rights reserved modified : 2009-02-23 15:14:42 share Tweet // forked from northprint's Pixcel Bender Test -No.2 blendShader // write as3 code here.. //Pixel Bender Test package { import flash.display.*; import flash.events.*; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLLoaderDataFormat; import flash.system.Security; import flash.filters.ShaderFilter; import flash.system.LoaderContext; import jp.progression.commands.*; [SWF(backgroundColor="#ffffff")] public class PixelBenderTest extends MovieClip{ private var _pbloader:URLLoader; private var _imgloader:Loader; private var _imgloader2:Loader; private var _fadeShader:Shader; private var _filter:ShaderFilter; private var _bmp1:Bitmap; private var _bmp2:Bitmap; private var _bmd1:BitmapData; private var _bmd2:BitmapData; private var _param:Number = 0; private var _container:MovieClip; private var _container2:MovieClip; public function PixelBenderTest(){ _container = new MovieClip(); _container2 = new MovieClip(); addChild(_container); addChild(_container2); Security.loadPolicyFile("http://narayama.heteml.jp/crossdomain.xml"); _pbloader = new URLLoader(); _pbloader.dataFormat = URLLoaderDataFormat.BINARY; _pbloader.addEventListener(Event.COMPLETE,PbLoadHandler); _pbloader.load(new URLRequest("http://narayama.heteml.jp/test/pixelbender/CrossFade_test2.pbj")); } private function PbLoadHandler(e:Event):void{ _imgloader = new Loader(); _imgloader.contentLoaderInfo.addEventListener(Event.COMPLETE,ImgLoadHandler); _imgloader.load(new URLRequest("http://narayama.heteml.jp/test/pixelbender/testimage.jpg"), new LoaderContext(true)); } private function ImgLoadHandler(e:Event):void{ var loaderInfo:LoaderInfo = LoaderInfo(e.currentTarget); var loader:Loader = loaderInfo.loader; _bmd1 = new BitmapData(loader.width, loader.height, true); _bmd1.draw(loader); _bmp1 = new Bitmap(_bmd1); _bmp1.x = (stage.stageWidth/2) - (loader.width/2); _bmp1.y = (stage.stageHeight/2) - (loader.height/2); _imgloader2 = new Loader(); _imgloader2.contentLoaderInfo.addEventListener(Event.COMPLETE,ImgLoadHandler2); _imgloader2.load(new URLRequest("http://narayama.heteml.jp/test/pixelbender/testimage2.jpg"), new LoaderContext(true)); } private function ImgLoadHandler2(e:Event):void{ var loaderInfo:LoaderInfo = LoaderInfo(e.currentTarget); var loader:Loader = loaderInfo.loader; _bmd2 = new BitmapData(loader.width, loader.height, true); _bmd2.draw(loader); _bmp2 = new Bitmap(_bmd2); _bmp2.x = (stage.stageWidth/2) - (loader.width/2); _bmp2.y = (stage.stageHeight/2) - (loader.height/2); _container.addChild(_bmp1); _container2.addChild(_bmp2); _fadeShader = new Shader(_pbloader.data); //これは反映されないので意味なし addEventListener(Event.ENTER_FRAME,enterFrameHandler); //最初のしか反映されない var sList:SerialList = new SerialList(); sList.addCommand( function():void{ _fadeShader.data.intencity.value = [0.3]; _container2.blendShader = _fadeShader; }, new Wait(3000), function():void{ _fadeShader.data.intencity.value = [0.1]; _container2.blendShader = _fadeShader; } ); sList.execute(); } private function enterFrameHandler(e:Event):void{ _param++; if (_param > 10){ _param = 0; } //こちらは反映されない _fadeShader.data.intencity.value = [_param * 0.1]; _container2.blendShader = _fadeShader; } } } Code Fullscreen Preview Fullscreen blendShader height width value Shader SerialList loader loaderInfo Loader MovieClip currentTarget addCommand ShaderFilter execute Wait data Event.COMPLETE addEventListener load draw sort new page view favorite forked pv11052 forked from: forked from: Pixe.. northprint forked:0 favorite:0lines:75 (diff:21)