flint 使用 爆破照片等图片

来源:互联网 发布:电脑做笔记的软件 编辑:程序博客网 时间:2024/04/27 22:17

对图片进行爆破

在flint 的例子里有

下面是对它的注解

 

 

 

 

 

import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.emitters.Emitter2D;
import org.flintparticles.twoD.particles.Particle2DUtils;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.zones.RectangleZone; 

var txt:TextField = new TextField();
txt.text = "Click on the image";
txt.textColor = 0xFFFFFF;
addChild( txt );

var emitter:Emitter2D = new Emitter2D();

var particles:Array = Particle2DUtils.createRectangleParticlesFromBitmapData( BitmapData(new Image1(384,255)), 10, emitter.particleFactory, 56, 47 );// 10指的是其爆炸后每一小块的像素大小 后面的56,47是图片的坐标 Image1 是图片的链接名
emitter.addExistingParticles( particles, false );

var renderer:DisplayObjectRenderer = new DisplayObjectRenderer();
renderer.addEmitter( emitter );
addChild( renderer );
emitter.start();

stage.addEventListener( MouseEvent.CLICK, explode, false, 0, true );
  
function explode( ev:MouseEvent ):void
{
 var p:Point = renderer.globalToLocal( new Point( ev.stageX, ev.stageY ) );//转化为全局坐标 渲染环境renderer也是DisplayObject 用的是flash player的globalToLocal方法
 emitter.addAction( new Explosion( 8, p.x, p.y, 500 ) );// 后面的500值爆破的程度  即开始爆破的像素  (爆破500像素,一开始就出现500像素的缺口,然后慢慢的往外延伸)
 emitter.addAction( new Move() );
 emitter.addAction( new DeathZone( new RectangleZone( -10, -10, 510, 360 ), true ) );
 stage.removeEventListener( MouseEvent.CLICK, explode );

原创粉丝点击