Bitmap Effect ちょっとしたBitmapのエフェクト demouth forked:0favorite:11lines:59license : MIT License modified : 2010-05-04 03:20:50 Embed Tweet /* ちょっとしたBitmapのエフェクト */ package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import flash.events.Event; import flash.geom.Matrix; import flash.geom.Point; import flash.geom.Rectangle; import flash.net.URLRequest; import flash.system.LoaderContext; [SWF(width=465,height=465,frameRate=60)] public class FlashTest extends Sprite { private var originalBD:BitmapData; private var mat:Matrix; private var diff:int = 0; private var flg:Boolean;//いったりきたりフラグ public function FlashTest() { this.init(); } private function init():void { var loader:Loader = new Loader(); loader.load(new URLRequest("http://assets.wonderfl.net/images/related_images/9/91/9162/91627668adccfd301dc3ed71291750aac8958864"),new LoaderContext(true)); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleteHandler); } private function loadCompleteHandler(e:Event):void { this.originalBD = ((e.currentTarget as LoaderInfo).loader.content as Bitmap).bitmapData; var scale:Number = (this.originalBD.width > this.originalBD.height)? this.stage.stageHeight / this.originalBD.height: this.stage.stageWidth / this.originalBD.width; this.mat = new Matrix(); this.mat.scale(scale, scale); this.stage.addEventListener(Event.ENTER_FRAME , enterFrameHandler); } private function enterFrameHandler(e:Event):void { var move:int=3; //いったりきたりさせてる if (((this.originalBD.width-this.diff) <= move+1 || (this.originalBD.height-this.diff) <= move+1 )||this.diff <= 0) { this.flg = !this.flg; } if (this.flg) this.diff+=move else this.diff-=move; var bitmapData:BitmapData = new BitmapData(this.originalBD.width-this.diff,this.originalBD.height-this.diff); bitmapData.copyPixels(this.originalBD, this.originalBD.rect, new Point()); this.graphics.clear(); this.graphics.beginBitmapFill(bitmapData, this.mat, false); this.graphics.drawRect(0, 0, this.stage.stageWidth, this.stage.stageHeight); this.graphics.endFill(); } } } Code Fullscreen Preview Fullscreen djankey skn kitsionchen fardeen nmtm jozefchutka SetzerWolf xor tkinjo : transition halfmile : 纱窗位图特效纱窗位图特效 goliatone : bitmapdataeffect,Bitmap transition effect bitmapdata effect, transition 纱窗位图特效 width height currentTarget Event.COMPLETE URLRequest addEventListener Event Boolean Event.ENTER_FRAME Sprite Number int