<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4481248866042484638</id><updated>2012-01-21T14:01:33.923-08:00</updated><title type='text'>flex[!]</title><subtitle type='html'>Flex/Flash/Actionscript experiments and machinations</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-1208687889020751171</id><published>2009-05-10T05:06:00.001-07:00</published><updated>2009-05-10T05:10:59.278-07:00</updated><title type='text'>Physics test</title><content type='html'>Cool, sat down tonight and managed to make a completely elastic solution using Box2d:&lt;br /&gt;&lt;a href="http://oizys.com/flexbang/themor/0.1/Themoroids.html"&gt;[link]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is after reading up on / trying out APE, fisix, and FOAM.  Box2d is a lot more work and has rather poor documentation, but at least the project has had activity recently.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-1208687889020751171?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/1208687889020751171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=1208687889020751171' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1208687889020751171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1208687889020751171'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/05/cool-sat-down-tonight-and-managed-to.html' title='Physics test'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-8051166300009545113</id><published>2009-02-24T01:17:00.000-08:00</published><updated>2009-02-24T01:19:45.697-08:00</updated><title type='text'>Camera capture for Paint</title><content type='html'>&lt;a href="http://oizys.com/flexbang/paint/03/pixel.swf" /&gt;Paint 0.03 Up&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;New features - beginnings of a filter chain system, and the ability to capture input from a camera.  If you have a webcam, click the 'camera' icon at the top.  You can drag and rectangle on the video feed and then hit capture to send it to the image.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-8051166300009545113?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/8051166300009545113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=8051166300009545113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8051166300009545113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8051166300009545113'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/camera-capture-for-paint.html' title='Camera capture for Paint'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-1730848686808616338</id><published>2009-02-20T02:56:00.000-08:00</published><updated>2009-02-20T03:02:26.941-08:00</updated><title type='text'>In AD2009, dungeon was beginning</title><content type='html'>&lt;a href="http://oizys.com/flexbang/paint/02/tilepaint.swf" /&gt;New Tilepainting Demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click any of the tile icons above to change your 'brush' to that tile.  What you're actually doing is changing your paintbrush to a color that is mapped to that tile and then painting with the color which is displayed as a tile.  The little 'actual' representation in the corner is what is actually getting painted internally.&lt;br /&gt;&lt;br /&gt;(EDIT: Ctrl+Click also works to eyedropper a tile, but I didn't do anything to make this work.  Gotta love inheritance!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-1730848686808616338?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/1730848686808616338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=1730848686808616338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1730848686808616338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1730848686808616338'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/in-ad2009-dungeon-was-beginning.html' title='In AD2009, dungeon was beginning'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-6474271946697800330</id><published>2009-02-19T05:03:00.001-08:00</published><updated>2009-02-19T05:10:57.688-08:00</updated><title type='text'>Weapon Editor Test</title><content type='html'>&lt;a href="http://oizys.com/flexbang/paint/02/pixel.swf"&gt;New version of Paint Example Up&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This version is a complete rewrite as a flex component and adds color picking (Ctrl+Click - would've done Alt but you can't catch that event in flash *shakes fist*), a preserve transparency mode, support for non-square pixels, auto-stretching to the container size, more grid options, and improvements to the Graphic and GraphicResource classes.&lt;br /&gt;&lt;br /&gt;This example also shows a GraphicResource being dynamically loaded, building auto clip names from a uniform grid (they're named "Xindex,Yindex"), loading clips by name, locating clips by pixel offset (click anywhere on the resource map to load that clip into the paint component).&lt;br /&gt;&lt;br /&gt;I also have the first step towards a dungeon editor (TilePaintCanvas extending PaintCanvas - to paint with sprite tiles instead of just colored pixels)&lt;br /&gt;&lt;br /&gt;And now, some SleepPaintCanvas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-6474271946697800330?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/6474271946697800330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=6474271946697800330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6474271946697800330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6474271946697800330'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/weapon-editor-test.html' title='Weapon Editor Test'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-5985054600943448035</id><published>2009-02-18T23:33:00.000-08:00</published><updated>2009-02-19T00:13:43.772-08:00</updated><title type='text'>Chunk and BitmapCamera</title><content type='html'>New system and test:  BitmapCamera.&lt;br /&gt;The only fast reliable form of panning is via bitmapData and draw()/copyPixels(), as far as I know.  And I've tried a LOT - including writing pixelbender shaders, crazy memory flop tricks and every form of bitmap caching available.  &lt;br /&gt;&lt;br /&gt;The fastest method I call the BitmapCamera.  Run a copyPixels on everything that the window 'sees' doing appropriate transforms.  Don't render a single pixel that doesn't need to be there (especially not transparent).  So, in taking from MMO client methodologies, here is a culling BitmapCamera.  Basically, if we can't even see the object, it's not even going to be considered (and may not be in memory).  You can expand that to include dynamic loading/unloading of tile pieces, and if you know enough about the prefetch paths (for example, with a Graph or BSPTree), you might know WELL in advance.  &lt;br /&gt;&lt;br /&gt;This code was written stealing the architecture from that of common 3D clients, abstracted down into simple classes, and then extended as "Bitmap" versions of them.  However the scene type class that I have doesn't care what it is, so it could work to do a portalcast/scenegraph for a 3D flash renderer.&lt;br /&gt;&lt;br /&gt;In this example, use the arrow keys to move the 'camera'.  Sprites that are out-of-frame (represented in red) will go transparent to denote this.  The blue doesn't mean anything here but the possibility of a loading/unloading hysteresis.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oizys.com/flexbang/crawl/01/crawl.swf" /&gt;BitmapCamera test 01&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(EDIT: I added mousewheel support... mousewheel while keyboarding around to change the camera size - on flash 10 it should still be quite fast even at 800+ pixels)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-5985054600943448035?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/5985054600943448035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=5985054600943448035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5985054600943448035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5985054600943448035'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/chunk-and-bitmapcamera.html' title='Chunk and BitmapCamera'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-7926974501290927729</id><published>2009-02-18T03:51:00.000-08:00</published><updated>2009-02-18T04:16:01.476-08:00</updated><title type='text'>Quick Beginnings</title><content type='html'>&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="slime03" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="400" width="400"&gt;&lt;br /&gt;  &lt;param name="movie" value="http://oizys.com/flexbang/slime/03/slime.swf"&gt;&lt;br /&gt;  &lt;param name="quality" value="high"&gt;&lt;br /&gt;  &lt;param name="bgcolor" value="#000000"&gt;&lt;br /&gt;  &lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;br /&gt;  &lt;embed src="http://oizys.com/flexbang/slime/03/slime.swf" bgcolor="#000000" name="slime03" play="true" loop="false" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" align="middle" pluginspage="http://www.adobe.com/go/getflashplayer" height="400" width="400"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oizys.com/flexbang/slime/03/slime.swf"&gt;[fullscreen]&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-7926974501290927729?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/7926974501290927729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=7926974501290927729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/7926974501290927729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/7926974501290927729'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/quick-beginnings.html' title='Quick Beginnings'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4028743223586878371</id><published>2009-02-17T01:38:00.000-08:00</published><updated>2009-02-17T02:17:22.949-08:00</updated><title type='text'>mx.controls.Image</title><content type='html'>Blast you, Image class.  The 'goods' are stored as an internal namespace'd variable named contentHolder.  There are two methods to set this from the outside. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;via source: this expects to be a url string or a IFlexDisplayObject class (generally one auto-generated by the @Embed directive)&lt;/li&gt;&lt;li&gt;via load(): see source above&lt;/li&gt;&lt;/ul&gt;  Unfortunately, no one thought that maybe you would already have the data or you were generating it fresh.  Of course, you'd ask, why would you need the Image class then - why not just make a custom component?  Because then you'd have to rewrite any and all of Image's other features that you wanted (and making a horrible OO-fail example in the process).  So basically I wanted a UIComponent that had all the features of Image but could also accept a bitmapData and some other stuff as inputs. &lt;br /&gt;&lt;br /&gt;For what I'm doing (preloading resource chunks), I decided on a pattern of two coupled classes:  GraphicResource and Graphic.  They both derive from Image, but a Graphic is only really useful if it has a linked GraphicResource so it can pull bitmap clips out of it.  There are probably better ways (maybe not better, but more Kosher) of doing this, but I'm sticking with this for now.  Theoretically the GraphicResource can still be a Vector Sprite while the Graphic is a Bitmap in this setup, but I don't have a concept yet of having a Graphic pull out a vector asset from a swf contained in a GraphicResource.  First show me wash the car.&lt;br /&gt;&lt;br /&gt;Also ignore the fight menu stuff... none of that is functional.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oizys.com/flexbang/slime/02/slime.html"&gt;Now with 100% more Dragon&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4028743223586878371?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4028743223586878371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4028743223586878371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4028743223586878371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4028743223586878371'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/mxcontrolsimage.html' title='mx.controls.Image'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-184917887534781636</id><published>2009-02-07T15:03:00.000-08:00</published><updated>2009-02-12T18:32:08.940-08:00</updated><title type='text'>A resource approaches</title><content type='html'>&lt;a href="http://geminirealm.com/stuff/flex/vaud/slime/slime.html"&gt;Test using clip coordinate library and sheet file for less loads when loading a skin or theme&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-184917887534781636?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/184917887534781636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=184917887534781636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/184917887534781636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/184917887534781636'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/resource-approaches.html' title='A resource approaches'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4125380806843644893</id><published>2009-02-03T03:06:00.000-08:00</published><updated>2009-02-03T03:11:08.737-08:00</updated><title type='text'>Quick One</title><content type='html'>&lt;a href="http://geminirealm.com/stuff/flex/vaud/pixel/pixel.html"&gt;Made a Graphics Editor in 15 minutes.&lt;/a&gt;  Should make it a proper component and remove some of the bitmap hax, but for another night.  Scroll the mousewheel over the editor part to resize the editing window.  Color picker on the top.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4125380806843644893?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4125380806843644893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4125380806843644893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4125380806843644893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4125380806843644893'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2009/02/quick-one.html' title='Quick One'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-8194099158449280411</id><published>2007-12-03T19:54:00.000-08:00</published><updated>2009-02-12T18:32:29.392-08:00</updated><title type='text'>Sad Blue Faces</title><content type='html'>Haxxed it away for now: The tiled floor is always 'behind' the faces now.  Made the tiled floor random (based on sine waves).  Gave the tiles multiple textures now per tile.  Create characters only on blue ones.  Drag to rotate camera.&lt;br /&gt;&lt;br /&gt;  &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Constructive" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="300" width="400"&gt;&lt;br /&gt;  &lt;param name="movie" value="http://geminirealm.com/stuff/flex/picchu/ConstructiveTiles.swf"&gt;&lt;br /&gt;  &lt;param name="quality" value="high"&gt;&lt;br /&gt;  &lt;param name="bgcolor" value="#000000"&gt;&lt;br /&gt;  &lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;br /&gt;  &lt;embed src="http://geminirealm.com/stuff/flex/picchu/ConstructiveTiles.swf" bgcolor="#000000" name="Constructive" play="true" loop="false" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" align="middle" height="300" width="400"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/picchu/ConstructiveTiles.swf"&gt;[fullscreen]&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-8194099158449280411?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/8194099158449280411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=8194099158449280411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8194099158449280411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8194099158449280411'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/12/sad-blue-faces.html' title='Sad Blue Faces'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4013633163397104035</id><published>2007-12-03T18:33:00.000-08:00</published><updated>2007-12-03T18:45:20.290-08:00</updated><title type='text'>Familiar Faces</title><content type='html'>Ok, added some planes with textures on them that always point at the camera.  Now the culling issue is quite obvious: whole objects (based on their centers) are being sorted first instead of dumping all the triangles into the same sorter.  &lt;br /&gt;&lt;br /&gt;I can see the reasoning for this but it ultimately fails at what I'm trying to do here.  I may have to write my own split-triangle culler or even test out writing a z-buffer system (though think that will probably kill speed entirely).&lt;br /&gt;&lt;br /&gt;Notes: Click and drag to move camera.  Be patient for images to load.&lt;br /&gt;&lt;br /&gt;  &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Constructive" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" height="300" width="400"&gt;&lt;br /&gt;  &lt;param name="movie" value="http://geminirealm.com/stuff/flex/picchu/ConstructiveFaces.swf"&gt;&lt;br /&gt;  &lt;param name="quality" value="high"&gt;&lt;br /&gt;  &lt;param name="bgcolor" value="#000000"&gt;&lt;br /&gt;  &lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;br /&gt;  &lt;embed src="http://geminirealm.com/stuff/flex/picchu/ConstructiveFaces.swf" bgcolor="#000000" name="Constructive" play="true" loop="false" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" align="middle" height="300" width="400"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/picchu/ConstructiveFaces.swf"&gt;[fullscreen]&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4013633163397104035?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4013633163397104035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4013633163397104035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4013633163397104035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4013633163397104035'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/12/familiar-faces.html' title='Familiar Faces'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-5079148713199058422</id><published>2007-11-14T16:06:00.000-08:00</published><updated>2007-11-14T16:37:57.874-08:00</updated><title type='text'>Constructive Geometry</title><content type='html'>Made a TileTerrain class that uses constructive geometry to build it instead of cubes.  Solves a lot of the problem - not perfect though but the final tweak to this method is much harder so that will come later.&lt;br /&gt;&lt;br /&gt;   &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Constructive" width="400" height="300" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"&gt;&lt;br /&gt;   &lt;param name="movie" value="http://geminirealm.com/stuff/flex/picchu/Constructive.swf" /&gt;&lt;br /&gt;   &lt;param name="quality" value="high" /&gt;&lt;br /&gt;   &lt;param name="bgcolor" value="#000000" /&gt;&lt;br /&gt;   &lt;param name="allowScriptAccess" value="sameDomain" /&gt;&lt;br /&gt;   &lt;embed src="http://geminirealm.com/stuff/flex/picchu/Constructive.swf" quality="high" bgcolor="#000000" width="400" height="300" name="Constructive" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"&gt;&lt;br /&gt;   &lt;/embed&gt;&lt;br /&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-5079148713199058422?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/5079148713199058422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=5079148713199058422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5079148713199058422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5079148713199058422'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/11/constructive-geometry.html' title='Constructive Geometry'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-8775473480538850538</id><published>2007-11-13T17:30:00.000-08:00</published><updated>2007-11-13T17:50:03.491-08:00</updated><title type='text'>Papervision vs Sandy</title><content type='html'>After reading &lt;a href="http://www.flashsandy.org/blog/"&gt;Sandy 3D's&lt;/a&gt; code and tutorials I found that I liked the organization of the code leagues better than &lt;a href="http://blog.papervision3d.org/"&gt;Papervision 3D&lt;/a&gt; (which I have &lt;a href="http://flexbang.blogspot.com/2007/09/3d-in-my-actionscript.html"&gt;&lt;u&gt;more&lt;/u&gt;&lt;/a&gt; &lt;a href="http://flexbang.blogspot.com/2007/09/papervision-test-2.html"&gt;&lt;u&gt;experience&lt;/u&gt;&lt;/a&gt; in at this &lt;a href="http://flexbang.blogspot.com/2007/09/herd-of-boxen.html"&gt;&lt;u&gt;point&lt;/u&gt;&lt;/a&gt;).  So I decided to do a little test.&lt;br /&gt;&lt;br /&gt;In the past hour I wrote the same basic thing in both engines.  Other than some features that one had and the other didn't (neither seemed to have a useful concept of 'lighting' - but in the Papervision case I'd already written my own primitive Lambertian reflectance shader so I just reused that), one thing I noticed was that both of them had problems with z-index culling - putting one triangle on top of another that shouldn't be.  &lt;br /&gt;&lt;br /&gt;I did a lot of reading on Sandy and tried all combinations of their culling and didn't manage to solve it.  Only thing I could find in Papervision is an arbitrary z-depth sort for objects for the camera.&lt;br /&gt;&lt;br /&gt;P.S. If this example looks familiar to you it's no mistake - I'm actively dreaming these days of making a Final Fantasy Tactics style game in full 3D (not just iso) in flash.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/picchu/Sandy3D.swf"&gt;Sandy Example&lt;/a&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/picchu/Papervision3D.swf"&gt;Papervision Example&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also, the Papervision performs notably better.  So as much as I like the structure of Sandy better I may not be using it as soon as I'd like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-8775473480538850538?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/8775473480538850538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=8775473480538850538' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8775473480538850538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8775473480538850538'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/11/papervision-vs-sandy.html' title='Papervision vs Sandy'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-1499949507697962184</id><published>2007-10-28T15:39:00.000-07:00</published><updated>2007-10-28T15:41:45.991-07:00</updated><title type='text'>Polar Color Test</title><content type='html'>&lt;a href="http://geminirealm.com/stuff/flex/entity/EntityTest4.swf"&gt;More complicated Entity Test&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Still entirely nondeterministic, but now I've added some more color controls.  Some of these particles are positive poled and will naturally attract, some will repel.  Hold down the mouse to invert the magnetic pole of the mouse (and increase the power of the magnet).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-1499949507697962184?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/1499949507697962184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=1499949507697962184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1499949507697962184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/1499949507697962184'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/polar-color-test.html' title='Polar Color Test'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-3738650234862238001</id><published>2007-10-23T23:35:00.000-07:00</published><updated>2007-10-23T23:41:06.095-07:00</updated><title type='text'>Companion Sphere</title><content type='html'>Abject return value chain abuse here:&lt;br /&gt;&lt;br /&gt;em.addAffector(new MouseAttractor(5)).assign( em.addEntity(newe(0,0xEE0000)) );&lt;br /&gt;em.addAffector(new MouseAttractor(-5)).assign( [em.addEntity(newe(90)), em.addEntity(newe(180)), em.addEntity(newe(270))] );&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/entity/EntityTest3.swf"&gt;Creates this version, with 3 of them hating the Mouse and 1 loving it&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(&lt;i&gt;newe()&lt;/i&gt; in this case just makes an entity with a circle drawn and a start angle with a velocity of 10 and a color)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-3738650234862238001?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/3738650234862238001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=3738650234862238001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/3738650234862238001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/3738650234862238001'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/companion-sphere.html' title='Companion Sphere'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4933706994384194240</id><published>2007-10-23T23:14:00.001-07:00</published><updated>2007-10-23T23:14:45.941-07:00</updated><title type='text'>Uno Mas</title><content type='html'>&lt;a href="http://geminirealm.com/stuff/flex/entity/EntityTest2.swf"&gt;Added a 4th Affector that will attract to the mouse cursor if you get close enough&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4933706994384194240?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4933706994384194240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4933706994384194240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4933706994384194240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4933706994384194240'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/uno-mas.html' title='Uno Mas'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-916609390772270248</id><published>2007-10-23T19:03:00.000-07:00</published><updated>2007-10-23T19:14:38.144-07:00</updated><title type='text'>Entity First Tests</title><content type='html'>&lt;a href="http://geminirealm.com/stuff/flex/entity/EntityTest.swf"&gt;First Entity Test&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm rebuilding my particle system around a couple base objects:  Entity, EntityManager, EntityEmitter(optional).&lt;br /&gt;&lt;br /&gt;Entities are Sprites with the ability to be updated via a delta 'time' slice.  They support nondeterministic animation through this system natively, but they also can each have their own timeline objects to have properties of themselves deterministic.&lt;br /&gt;&lt;br /&gt;EntityManager objects manage groups of entities and serve as a single point of contact to update or evaluate an entire group.  They also manage removal, and Affector chains. &lt;br /&gt;&lt;br /&gt;The whole entity thing is basically a way to get things like Affectors without having emitters - so I can write an Artificial Intelligence Affector for an enemy that needs updating/main loop service.  &lt;br /&gt;&lt;br /&gt;This example has 4 entities and 3 affectors (WobbleAffector, VelocityClampAffector, RadialSoftBoundsAffector).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-916609390772270248?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/916609390772270248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=916609390772270248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/916609390772270248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/916609390772270248'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/entity-first-tests.html' title='Entity First Tests'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-8196794607111892179</id><published>2007-10-23T13:21:00.000-07:00</published><updated>2007-10-23T13:22:12.461-07:00</updated><title type='text'>Flash? in my YouTube?</title><content type='html'>http://www.lostinactionscript.com/blog/index.php/2007/10/13/flash-you-tube-api/&lt;br /&gt;Saved here for future usage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-8196794607111892179?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/8196794607111892179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=8196794607111892179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8196794607111892179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/8196794607111892179'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/flash-in-my-youtube.html' title='Flash? in my YouTube?'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-5346253472449867039</id><published>2007-10-23T12:51:00.001-07:00</published><updated>2007-10-23T12:51:49.636-07:00</updated><title type='text'>Entity is coming</title><content type='html'>rewriting particle framework, brb&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-5346253472449867039?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/5346253472449867039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=5346253472449867039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5346253472449867039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5346253472449867039'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/10/entity-is-coming.html' title='Entity is coming'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-6717549492058993307</id><published>2007-09-22T14:03:00.000-07:00</published><updated>2007-09-22T14:14:25.282-07:00</updated><title type='text'>Flash 9 Dance Dance Revolution</title><content type='html'>Very simple rhythm game written with help of my existing gemini lib for AS3.  Game itself is 270 lines of code, including MXML.  This doesn't include the libraries, but the two new classes RhythmTimeline and RhythmKeyframe are only a couple lines each on top of the existing timeline stuff.&lt;br /&gt;&lt;br /&gt;Each keyframe has a 'radius', the distance at which a hit is viable.  When a key is pressed, I dig through the behind and ahead heaps up to a given max distance (the maximum radius that you use is a good value), to build a list of possibly 'current' ones, and then I go over this list testing absolute distance versus radius to get a final list. &lt;br /&gt;&lt;br /&gt;Most of the speed problems are due to the movement of the sprites (and the fact that I'm creating all the sprites ahead of time and not as needed - easy to fix).  I really need to steal/write a good parallax scroller to do this for reals.  I found when I added a clipping mask to the keyframes I lost like 20x more speed, so I left it out for now.&lt;br /&gt;&lt;br /&gt;There are some small issues regarding visual position not syncing perfectly with the audio (it actually IS synced, but the write and flush delays are hurting it), so sometimes it may feel like you're being gypped.  Also this song is probably not the best choice is it actually seems to drift in parts (the latter half of the song is almost perfectly mapped).&lt;br /&gt;&lt;br /&gt;You can drag to scroll around the music, and hit the "a" and "q" keys on your keyboard to dance with intensity.  You may need to click in the browser (anywhere) to get the keys to recognize (I know how to fix this). &lt;br /&gt;&lt;br /&gt;Be patient if you have a slow connection, song is just under 3mb and I didn't make a loader.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/rhythm/DanceDance.swf"&gt;Silver Screen Dance&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-6717549492058993307?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/6717549492058993307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=6717549492058993307' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6717549492058993307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6717549492058993307'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/flash-9-dance-dance-revolution.html' title='Flash 9 Dance Dance Revolution'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-6426819089918313240</id><published>2007-09-19T11:31:00.000-07:00</published><updated>2007-09-19T11:37:25.603-07:00</updated><title type='text'>Introduction</title><content type='html'>Hello, welcome to my new experiments blog.  Any and all posts before this were made in my livejournal before I had set this blog up.  I figured I should have something specifically for code experiments so that it's separate from my personal journal.&lt;br /&gt;&lt;br /&gt;Most all of these experiments are Actionscript 3.0+ and built in Flex 2.0+ and as such to view any of the examples, you must have the Flash 9 plugin installed.  Some of the examples require additional things (web cams, mics, wiimotes, etc).&lt;br /&gt;&lt;br /&gt;I will be posting source code for any of the projects that become mature enough to warrant posting.  Source code is available for other examples on request (use at own risk).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-6426819089918313240?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/6426819089918313240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=6426819089918313240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6426819089918313240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6426819089918313240'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/introduction.html' title='Introduction'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-6500304077208824700</id><published>2007-09-19T10:29:00.001-07:00</published><updated>2007-09-19T10:29:42.335-07:00</updated><title type='text'>Herd of Boxen</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/228030.html"&gt;http://oizys.livejournal.com/228030.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/misc/Particles3D.swf"&gt;Obvious next step&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My particle emitter + Papervision3D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-6500304077208824700?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/6500304077208824700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=6500304077208824700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6500304077208824700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/6500304077208824700'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/herd-of-boxen.html' title='Herd of Boxen'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-5880852675089454541</id><published>2007-09-19T10:28:00.000-07:00</published><updated>2007-09-19T10:29:10.648-07:00</updated><title type='text'>PaperVision Test 2</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/227760.html"&gt;http://oizys.livejournal.com/227760.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/misc/P3DTest2.swf"&gt;Balls are out&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;click and drag to move the camera&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-5880852675089454541?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/5880852675089454541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=5880852675089454541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5880852675089454541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/5880852675089454541'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/papervision-test-2.html' title='PaperVision Test 2'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-270291602987161102</id><published>2007-09-19T10:27:00.000-07:00</published><updated>2007-09-19T10:28:27.110-07:00</updated><title type='text'>3D? In my actionscript?</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/227335.html"&gt;http://oizys.livejournal.com/227335.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I downloaded &lt;a href="http://www.papervision3d.org/"&gt;Papervision 3D&lt;/a&gt; today and started learning it.&lt;br /&gt;&lt;br /&gt;So far I've made my own material (ShadedColorMaterial), based on the Lambertian reflectance half of Phong shading, and my own object with its own custom renderer (BoundingCube - has no faces but only vertexes and custom drawn edges).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/misc/P3DTest.swf"&gt;My first Papervision Tests&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You may find the shape/proportions of the object familiar.  This is by all means intentional.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-270291602987161102?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/270291602987161102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=270291602987161102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/270291602987161102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/270291602987161102'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/3d-in-my-actionscript.html' title='3D? In my actionscript?'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-645939137691654900</id><published>2007-09-19T10:26:00.002-07:00</published><updated>2009-02-12T18:37:04.821-08:00</updated><title type='text'>Shapes</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/226330.html"&gt;http://oizys.livejournal.com/226330.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last night I wrote a standardized shape baseclass with the important draw() and clone() abstracts and some handling of size/color/line etc, and then moved all my shape scraps to this.&lt;br /&gt;Here is a Gear class which is derives from Star.. and a &lt;a href="http://geminirealm.com/stuff/flex/emittertest/ShapeEmitter.swf"&gt;ShapeParticleEmitter&lt;/a&gt; that emits shapes by using their clone().  The joy of this is that you can change the "prototype" object at will and the next particle emitted will be a clone of it in its current state.&lt;br /&gt;&lt;br /&gt;I realize there are better &lt;a href="http://www.degrafa.com/"&gt;Shape&lt;/a&gt; libraries out there already (hell there are better &lt;a href="http://www.boostworthy.com/blog/?p=170"&gt;Timeline&lt;/a&gt; libs out there than mine), but I like the joy of making it and of making it how I invision (plus being able to optimize it).&lt;br /&gt;&lt;br /&gt;While digging around looking at flash stuff I found two amazing sites:&lt;br /&gt;&lt;a href="http://www.papercritters.com/"&gt;Papercritters.com&lt;/a&gt; - (here's my &lt;a href="http://www.papercritters.com/pc.php?page=viewer&amp;amp;id=222"&gt;first one&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sr.se/p1/src/sing/#"&gt;Let Them Sing it for you&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-645939137691654900?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/645939137691654900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=645939137691654900' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/645939137691654900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/645939137691654900'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/from-httpoizys_19.html' title='Shapes'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-9113038101127350132</id><published>2007-09-19T10:26:00.001-07:00</published><updated>2007-09-19T10:26:50.861-07:00</updated><title type='text'>Typhoon Evolution</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/225735.html"&gt;http://oizys.livejournal.com/225735.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon9.swf"&gt;The latest code is a bit of a jump&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Things added:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LoopedSequence and PingPongSequence (modifying colors globally via ColorTransform)&lt;/li&gt;&lt;li&gt;Enemy plane moves, Particle Emitters can now 'house' their particles under another container so that they can move without moving their children&lt;/li&gt;&lt;li&gt;Enemy has 4 Emitters, Player has 1 Emitter&lt;/li&gt;&lt;li&gt;Collision is now a CollisionParticleAffector, allowing you to collide particles with object sets and particle sets, with event callbacks&lt;/li&gt;&lt;li&gt;Emitters now have "ParticleEmitterBehaviors", an example one here is the TargetingParticleEmitterBehavior, making the two side turrents target the player on fire but then not do anything special&lt;/li&gt;&lt;li&gt;The mini bomber ships are particles emitted slowly with a Targeting affector that tracks the player.&lt;/li&gt;&lt;/ul&gt;Click to fire&lt;br /&gt;&lt;br /&gt;One minor bug... if you leave the ship NOT firing for a while (like the game is running in another browser/tab) and then you fire - it eats CPU for a long time (will appear frozen).  Don't do that... fire a lot... it's okay to not fire for like 10-20 seconds or so at a time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-9113038101127350132?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/9113038101127350132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=9113038101127350132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/9113038101127350132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/9113038101127350132'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/typhoon-evolution.html' title='Typhoon Evolution'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-2794938331234472562</id><published>2007-09-19T10:25:00.000-07:00</published><updated>2007-09-19T10:26:00.285-07:00</updated><title type='text'>Exploring more particle fun</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/225043.html"&gt;http://oizys.livejournal.com/225043.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'd gotten a little bored with all the particles moving straight, and while waiting for the motivation for my true ParticleData slice structure rewrite that will allow me true velocity/accel control over parameters, I decided to pursue the other half of particles:&lt;br /&gt;&lt;br /&gt;Affectors. &lt;br /&gt;&lt;br /&gt;ParticleEmitters now have an Affector stack which can have an arbitrary amount of ParticleAffector objects that evaluate for each particle.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon6.swf"&gt;A simple example is wind/gravity/force&lt;/a&gt;.  This looks and feels awesome even for a simple single affector.&lt;br /&gt;&lt;br /&gt;But shmups often have over 50% of the bullets that go no where... why would you fire like this?  Why does the fire have to be stupid also?  What if the fire actually wanted to kill the player?&lt;br /&gt;It might look something more like this &lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon7.swf"&gt;Attractor&lt;/a&gt;.  In this example, you can hold the mouse down to reverse the attractor (To make a repulsor) - a useful weapon in your arsenal. &lt;br /&gt;&lt;br /&gt;Oh and since I programmed all the ParticleAffector objects with the ability to have a 'global' effect or a localized (BASED ON SPRITE SHAPE!!) effect - I can easily &lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon8.swf"&gt;contain this&lt;/a&gt;.  (note, repulsor mode here makes awesome bounce shield like effect).&lt;br /&gt;&lt;br /&gt;I think my goal is to make a shmup that makes people invent new curse words and name them after me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-2794938331234472562?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/2794938331234472562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=2794938331234472562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/2794938331234472562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/2794938331234472562'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/exploring-more-particle-fun.html' title='Exploring more particle fun'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-2489767700315730319</id><published>2007-09-19T10:24:00.000-07:00</published><updated>2007-09-19T10:25:12.400-07:00</updated><title type='text'>Fresher pls</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;a href="http://oizys.livejournal.com/224933.html"&gt;http://oizys.livejournal.com/224933.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ugh sick as hell today for some reason.  Forecast for tomorrow: 80% chance of fail.&lt;br /&gt;&lt;br /&gt;Comic con was a blast this weekend - special thanks to Matt, Nessa, and Maryssa for being awesome.  Special thanks to Rog and 'Rie for containing lols (Mini!).&lt;br /&gt;&lt;br /&gt;Over the last couple days here are my advancements:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/AudioTimelineTest.swf"&gt;AudioTimeline Test&lt;/a&gt; (click around - the timeline's 'time' is being driven by the sample offset of the song: "out of sync" is an impossibility)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon5.swf"&gt;Full particle and collision test&lt;/a&gt; (the red dots are what are actually colliding - in this case a full hitTestObject calc for each - not too shabby speed wise, but I have many optimizations in mind)&lt;br /&gt;Try to sneak through the big sweep attack on the last one.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-2489767700315730319?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/2489767700315730319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=2489767700315730319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/2489767700315730319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/2489767700315730319'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/fresher-pls.html' title='Fresher pls'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4763070942068731200</id><published>2007-09-19T10:23:00.000-07:00</published><updated>2007-09-19T10:24:20.156-07:00</updated><title type='text'>Squeeky Mirror</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/224517.html"&gt;http://oizys.livejournal.com/224517.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/misc/Cammy.swf"&gt;Cheezy CamPaint app&lt;/a&gt; [Requires Connected WebCam]&lt;br /&gt;&lt;br /&gt;You can draw on top of your webcam image.  Press 'v' to have an opacity slider show up (top left), press 'b' for brush size slider and 'c' for color picker.  Number keys 0-9 (top of the keyboard) are quick hotkeys to set brush sizes.  Spacebar clears the screen.&lt;br /&gt;&lt;br /&gt;The primary purpose of this application is to draw a mustache and then say "It's A ME!".  All other usages are not covered by warranty.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4763070942068731200?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4763070942068731200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4763070942068731200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4763070942068731200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4763070942068731200'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/squeeky-mirror.html' title='Squeeky Mirror'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4474371029239000189</id><published>2007-09-19T10:22:00.002-07:00</published><updated>2007-09-19T10:23:41.036-07:00</updated><title type='text'>circleOfLife()</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/224388.html"&gt;http://oizys.livejournal.com/224388.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/misc/InstanceEx.swf"&gt;Simple Instanced Position Test&lt;/a&gt;&lt;br /&gt;Basically, the other (not red) objects mark themselves as "instances" of the red on, so that all I'm doing it moving the red one and the rest follow suit (in their own respective coordinate systems).  Going to make a couple variations of this class/system and a couple helper instance Arrays to make grids, rings, spirals, etc.&lt;br /&gt;&lt;br /&gt;The primary purpose of this is to cut down on the amount of mathwork the system has to do to transform a lot of points that are identical along some form of symmetry.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4474371029239000189?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4474371029239000189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4474371029239000189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4474371029239000189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4474371029239000189'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/circleoflife.html' title='circleOfLife()'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4425578565385176863</id><published>2007-09-19T10:22:00.001-07:00</published><updated>2007-09-19T10:22:52.779-07:00</updated><title type='text'>Imogen</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/224033.html"&gt;http://oizys.livejournal.com/224033.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This will probably only hold feigned interest from the Computer Scientists who might read this (including my future self) but I've completed/debugged my new BidirectionalTimeline class, which allows for an impressive number of sequences within a single dimension to be sorted and evaluated in minimal time.  The objective is... you have a time position, and you want to know what sequences you've completely passed, which you've not reached yet and which you are on (and where you are along them).  Now you want to know this whether you're going forward or backward through time.  Now add on that if you skip any arbitrary amount of time that you know exactly how many you've passed over, in which direction and where things lie now.&lt;br /&gt;&lt;br /&gt;All in the least amount of time possible.&lt;br /&gt;&lt;br /&gt;Now there's probably a better solution than my simplistic one, but I believe there's an inherent value that simplicity adds that is probably worth whatever small speedup there is left to ponder.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/TimelineTest.swf"&gt;The first basic test... 50 sequences and showing you how they are sorted&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/TimelineTest2.swf"&gt;The real test... 5000 sequences - the lists aren't populated because the Flex list display alone drops the framerate to around 1/50th&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The solution?  Two Heaps (one sorted by highest end time, one by lowest start time) and a Linked List or Resizeable Array.  If you have another idea, I'd love to hear about it.&lt;br /&gt;&lt;br /&gt;Oh also, I just watched The Prestige.  Crazy awesome film but kinda creepy to think about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4425578565385176863?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4425578565385176863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4425578565385176863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4425578565385176863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4425578565385176863'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/imogen.html' title='Imogen'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-7370512092329619645</id><published>2007-09-19T10:21:00.000-07:00</published><updated>2007-09-19T11:15:10.257-07:00</updated><title type='text'>Now with more bitmap</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FROM &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://oizys.livejournal.com/223205.html"&gt;http://oizys.livejournal.com/223205.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More tests using a bitmap emitter &lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon3.swf"&gt;here&lt;/a&gt; and &lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon4.swf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This time you can attempt (though futile) to catch'em all.  More fun I've found is just holding down the mouse and swatting them around.&lt;br /&gt;&lt;br /&gt;making the new BitmapParticleEmitter was about as hard as this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;package&lt;br /&gt;{&lt;br /&gt;   import gemini.display.particle.Particle;&lt;br /&gt;   import gemini.display.particle.ParticleEmitter;&lt;br /&gt;   import gemini.display.particle.ParticleEmitterData;&lt;br /&gt;   import flash.display.BitmapData;&lt;br /&gt;   import flash.display.Bitmap;&lt;br /&gt;&lt;br /&gt;   public class BitmapParticleEmitter extends ParticleEmitter&lt;br /&gt;   {&lt;br /&gt;       public var bitmapData:BitmapData;&lt;br /&gt;     &lt;br /&gt;       public function BitmapParticleEmitter(base:ParticleEmitterData,v:ParticleEmitterData = null)&lt;br /&gt;       {&lt;br /&gt;           super(base,v);&lt;br /&gt;           bitmapData = null;&lt;br /&gt;       }&lt;br /&gt;     &lt;br /&gt;       public override function createParticle():Particle&lt;br /&gt;       {&lt;br /&gt;           var p:Particle = new Particle();&lt;br /&gt;           var b:Bitmap = new Bitmap(bitmapData);&lt;br /&gt;           p.addChild(b);&lt;br /&gt;           return p;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-7370512092329619645?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/7370512092329619645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=7370512092329619645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/7370512092329619645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/7370512092329619645'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/from-httpoizys.html' title='Now with more bitmap'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4895920190526434614</id><published>2007-09-19T10:13:00.000-07:00</published><updated>2007-09-19T10:18:45.804-07:00</updated><title type='text'>Emmitt Field</title><content type='html'>&lt;span style="font-weight: bold;"&gt;From &lt;a href="http://oizys.livejournal.com/222886.html"&gt;http://oizys.livejournal.com/222886.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Some particle emitter tests in actionscript 3.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon.swf"&gt;Look, I made a simple lever&lt;/a&gt; - this is a simple emitter you can play with&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geminirealm.com/stuff/flex/emittertest/Typhoon2.swf"&gt;This one might hurt a bit&lt;/a&gt; - but it looks pretty ^_^ (the number on the top should tell you it's averaging at 760 particles in existence at once - more than most computers can dish out at 30fps but I'm working on that). It's the same as the first with different default settings.&lt;br /&gt;&lt;br /&gt;More to come later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4895920190526434614?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4895920190526434614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4895920190526434614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4895920190526434614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4895920190526434614'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/emmitt-field.html' title='Emmitt Field'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4481248866042484638.post-4573732893807489840</id><published>2007-09-19T10:09:00.000-07:00</published><updated>2007-09-19T10:12:48.810-07:00</updated><title type='text'>Waitwhat</title><content type='html'>I just set up this blog to house my flash/actionscript/flex experiments.&lt;br /&gt;Need to first post the backlog...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4481248866042484638-4573732893807489840?l=flexbang.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://flexbang.blogspot.com/feeds/4573732893807489840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4481248866042484638&amp;postID=4573732893807489840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4573732893807489840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4481248866042484638/posts/default/4573732893807489840'/><link rel='alternate' type='text/html' href='http://flexbang.blogspot.com/2007/09/waitwhat.html' title='Waitwhat'/><author><name>Aaron</name><uri>http://www.blogger.com/profile/11762964234056955097</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
