signin
codes
page view ranking
favorite ranking
forked count ranking
users
page view ranking
favorite ranking
forked count ranking
tags
Flash/Actionscript keywords
Q&A
new questions
wonderfl?
what is wonderfl?
help!
libraries
wiki
APIs
developer's blog
contact
code search
Sample of ParticleField with BitmapParticleMaterial
add to favorites
mtok
notice:
Flash editor updated!
Join the development!
Thanks to
MiniBuilder
forked : 0
favorite : 5
lines : 92
license : All rights reserved
modified : 2009/02/27 01:18:10
embed
package { import flash.display.Sprite; import flash.events.Event; import flash.display.StageAlign; import flash.display.StageScaleMode; import org.papervision3d.core.view.IView; import org.libspark.thread.Thread; import org.libspark.thread.EnterFrameThreadExecutor; /** * ... * @author ... */ public class Pv3d012 extends Sprite { private var _view:CustomView; public function Pv3d012() { addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); } private function addedToStageHandler(e:Event):void { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.frameRate = 30; if (!Thread.isReady) { Thread.initialize(new EnterFrameThreadExecutor()); } var t:Thread = new MainThread(this); t.start(); } } } import flash.display.Bitmap; import flash.display.Sprite; import flash.display.BitmapData; import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; import flash.system.ApplicationDomain; import flash.system.LoaderContext; import org.papervision3d.view.BasicView; import org.papervision3d.objects.special.ParticleField; import org.papervision3d.materials.special.BitmapParticleMaterial; import org.papervision3d.materials.special.ParticleMaterial; import org.libspark.thread.Thread; import org.libspark.thread.threads.display.LoaderThread; internal class MainThread extends Thread { private var loader:Loader; private var lt:LoaderThread; private var _view:BasicView; private var container:Sprite; public function MainThread(container:Sprite) { super(); this.container = container; } override protected function run():void { loader = new Loader(); var req:URLRequest = new URLRequest("http://www.matzmtok.com/wonderfl/metalball_small.png"); var context:LoaderContext = new LoaderContext(true, new ApplicationDomain(null), null); lt = new LoaderThread(req, context, loader); lt.start(); lt.join(); next(playSample); } private function playSample():void { var bmp:Bitmap = loader.contentLoaderInfo.content as Bitmap; _view = new CustomView(bmp.bitmapData); container.addChild(_view); } } internal class CustomView extends BasicView { private var bmpData:BitmapData; private var pf:ParticleField; public function CustomView(bmpData:BitmapData) { super(0, 0, true, true); this.bmpData = bmpData; buildScene(); startRendering(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(e:Event):void { pf.rotationX += 1; pf.rotationY += 1; } protected function buildScene():void { var mf:ParticleMaterial = new BitmapParticleMaterial(bmpData); pf = new ParticleField(mf, 50, 50, 1000, 1000, 1000); scene.addChild(pf); camera.x = 0; camera.y = 0; camera.z = -1000; } }
PV3D
ParticleField
Sample
narinami
yuuma23
CYBERFOX
katapad
NaoHachi
container
LoaderContext
rotationY
rotationX
startRendering
content
join
URLRequest
addEventListener
Loader
Event.ADDED_TO_STAGE
addChild
Event.ENTER_FRAME
Event
Get Adobe Flash Player