fun
Fireball
Run for your lives!!!
package { import flash.display.Bitmap; import gs.TweenMax; import gs.easing.Quad; import org.papervision3d.core.effects.BitmapFireEffect; import org.papervision3d.core.effects.BitmapMotionEffect; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; import org.papervision3d.view.layer.BitmapEffectLayer; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class Fireball extends BasicView { [Embed(source="assets/3138.jpg")] private var bitmapAsset:Class; public function Fireball() { var headerText:headerContainer = new headerContainer(); headerText.header.text = "Fireball"; addChild(headerText); var bitmapEffectLayer:BitmapEffectLayer = new BitmapEffectLayer(viewport); var bitmap:Bitmap = Bitmap(new bitmapAsset); var material:BitmapMaterial = new BitmapMaterial(bitmap.bitmapData); var sphere:Sphere = new Sphere(material, 100, 10, 10); scene.addChild(sphere); var bitmapFireEffect:BitmapFireEffect = new BitmapFireEffect(10); bitmapEffectLayer.addEffect(bitmapFireEffect); bitmapEffectLayer.addDisplayObject3D(sphere); viewport.containerSprite.addLayer(bitmapEffectLayer); startRendering(); var bezierThrough:Array = []; for(var i:int = 0; i < 10; i++) { var bezierPoint:Object = {}; bezierPoint.x = Math.random() * 2000 - 1000; bezierPoint.y = Math.random() * 2000 - 1000; bezierPoint.z = Math.random() * 1000 - 500; bezierThrough.push(bezierPoint); } TweenMax.to(sphere, 20, {x:1000, y:1000, z:1000, bezierThrough:bezierThrough, yoyo:true, ease:Quad.easeInOut}); } } }
Fun with Pixel3D and Vertex3D
I was just playing around with Pixel3D and came up with the following result.
The pixels are placed by finding each vertex of the sphere then proportionately moving from the origin (x:0, y:0, z:0) out to the vertex.
package { import flash.events.Event; import org.papervision3d.core.geom.Pixels; import org.papervision3d.core.geom.renderables.Pixel3D; import org.papervision3d.core.geom.renderables.Vertex3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; import org.papervision3d.view.layer.BitmapEffectLayer; [SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")] public class PixelField extends BasicView { private const NUM_PIXELS:int = 200; private var pixels:Pixels; public function PixelField() { camera.y = 100; //you need a bitmapEffectLayer for the pixels var bitmapEffectLayer:BitmapEffectLayer = new BitmapEffectLayer(viewport); //this allows for the neat overdraw cylinder effect //bitmapEffectLayer.clearBeforeRender = true; pixels = new Pixels(bitmapEffectLayer); var sphere:Sphere = new Sphere(new ColorMaterial(0xffffff, 0), 500); scene.addChild(sphere); singleRender(); for each(var vertex3D:Vertex3D in sphere.geometry.vertices) { for(var i:int = 0; i < NUM_PIXELS; i++) { //move the x, y, z out to the vertex3D //in proportion to the # of pixels var randX:Number = vertex3D.x *(i / NUM_PIXELS); var randY:Number = vertex3D.y *(i / NUM_PIXELS); var randZ:Number = vertex3D.z *(i / NUM_PIXELS); //Notice the color is an ARGB value, so 8 f's instead of 6 //meaning the first FF = alpha, then red, green, blue var randColor:Number = Math.random() * 0xffffffff; var pixel:Pixel3D = new Pixel3D(randColor, randX, randY, randZ); pixels.addPixel3D(pixel); } } //remember to add the bitmapEffectLayer to the viewport viewport.containerSprite.addLayer(bitmapEffectLayer); scene.addChild(pixels); addEventListener(Event.ENTER_FRAME, renderAndRotateHandler); } private function renderAndRotateHandler(event:Event):void { pixels.yaw(1); singleRender(); } } }
Search
Recommended Books
Speaking at FITC Toronto
Recent Posts
- Moving to johnlindquist.com
- AsyncCommand with Robotlegs, Signals, Flight, MinimalComps
- Search Widget – Robotlegs, Signals, Flight, Minimal Comps, Yahoo Astra
- FDT Super Awesome March Deal
- FDT Theme Designer
- haXe Tutorial
- AS3 Signals Tutorial
- Preferred Video Tutorial Resolution?
- TweenMax – Tweening a timeline (Advanced Tweening)
- Robotlegs + Flight + Union Platform
- Back in the saddle
- Eclipse Theme Designer Preview
- RobotLegs Hello World Video Tutorial
- 10 Things Every Senior Flash Developer Should Know
- Efflex – 3D Effects for Flex
Recent Comments
- software akuntansi terbaik on Back in the saddle
- loan rates on Augmented Reality – Recursive Webcam
- loan rates on Looking around the inside of a Sphere
- reverse phone lookup on Looking around the inside of a Sphere
- Oidhreachta on The Spotlight Effect (Dimming the unselected)
- Hosting company on archive
- aanbae on Back in the saddle
- Domain registration on Looking around the inside of a Sphere
- website designing company on Looking around the inside of a Sphere
- Honda Motor on Augmented Reality – Recursive Webcam
Categories
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « May | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||
Archives
Preferred Video Tutorial Resolution
- 1024x768 (53%, 85 Votes)
- 1280x1024 (15%, 24 Votes)
- 1920x1080 (15%, 24 Votes)
- 800x600 (13%, 20 Votes)
- 480x320 (4%, 6 Votes)
- 640x480 (0%, 2 Votes)
Total Voters: 160


