分享一个超强大的starling粒子编辑器和简单的使用教程

我对粒子这方面的知识一无所知,但是看到各种炫的效果后彻底被征服了,粒子这玩意对我这数学盲来说太难搞了,最近学starling得知有个扩展的粒子系统,偶然逛论坛发现一强大的粒子编辑器,不敢独吞,拿出来大家玩玩,超爽。

粒子编辑器网址:http://onebyonedesign.com/flash/particleeditor/

说明:
Emiiter type 可选两种粒子运动方式:Gravity和Radial
Edit Texture 可以选择粒子的基本图形,除了系统提供的星形圆形外,还可以上传自己的图形。
Export Particle 导出粒子文件(我最喜欢这个功能了)

其余的滑竿就是控制数值变化操作了,这个我就不解释了,大家去随便拖几个看看,每改变数值都会使粒子运动产生变化,老实说,我也看不懂那些变化是啥意思,所以还不能做到随心所欲的控制粒子发生,这个还望大神们指点。

下面是本菜使用生成的粒子使用示例:

截个效果图先:

 

很漂亮啊!

在网站里按Export Particle 导出粒子文件后,你会拥有一个压缩包,解压,会看到两个文件,一个png,一个pex
首先我们要在项目根目录里建一个Assets文件夹(如果有了就不用建了),把那两个文件放在这里面。


代码:

starling启动类:(做过starling的都知道,没做过的话.....我也解释不了)

 1 package particle {
 2 import starling.core.Starling;
 3         import flash.display.Sprite;
 4 
 5         /**
 6          * @author portal
 7          */
 8          [SWF(backgroundColor="#000000", frameRate="60", width="640", height="480")]
 9         public class ParticleTest extends Sprite {
10                 
11                 private var mStarling:Starling;
12                 
13                 public function ParticleTest() {
14                         mStarling = new Starling(ParticleDemo, stage);
15                         mStarling.start();
16 //addChild(new Stats());
17                 }
18         }
19 }

主类:(代码很少,例子很简单)

 1 package particle {
 2         import starling.core.Starling;
 3         import starling.events.Event;
 4         import starling.textures.Texture;
 5         import starling.extensions.PDParticleSystem;
 6         import starling.display.Sprite;
 7 
 8         /**
 9          * @author portal
10          */
11         public class ParticleDemo extends Sprite {
12                 
13                 [Embed(source="../assets/texture.png")]
14                 private static const myParticle : Class;
15                 
16                 [Embed(source="../assets/particle.pex",mimeType="application/octet-stream")]
17                 private static const myParticleXML : Class;
18                 
19                 private var pdSystem:PDParticleSystem;
20                 
21                 public function ParticleDemo() {
22                         var xml:XML = XML(new myParticleXML);
23                         var texture:Texture = Texture.fromBitmap(new myParticle());
24                         pdSystem = new PDParticleSystem(xml, texture);
25                         addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
26                 }
27                 
28                 private function onAddedToStage(event:Event):void
29         {
30                         pdSystem.emitterX = 100;   //调位置而已
31                         pdSystem.emitterY = 200;
32                         addChild(pdSystem);    //记得要加入显示列表
33                         pdSystem.start();        //开始播放
34                         Starling.juggler.add(pdSystem);   //粒子是动画对象,starling是用juggler对象管理动画的
35                 }
36         }
37 }

 

原文链接:分享一个超强大的starling粒子编辑器和使用教程

posted @ 2013-05-31 12:28  【Winco】  阅读(893)  评论(0编辑  收藏  举报