My own TileUI – Part 1

By | June 9, 2008

Ever since Doug McCune first showed what could be accomplished when you combine Flex with physics and 3D in his TileUI project, I’ve been curious in learning how he did it. He hasn’t posted the source yet and rather than wait for him to give up the goods, I figured I’d try to break down what he showed in his demo and replicate it.

I fought my way through the ActionScript Physics Engine (APE) and PaperVision3D projects that he said he used.  I went with the code in the PaperVision3d trunk repository which I think is the 1.5 version.  (I would love to know the details of the differences between 1.5, 2.0/great white, and the effects branch – all I really found were lots of demos of each but no real summary of where each of these versions is going). After messing with the code in my spare time last week, I’ve come up with a demo. Make no mistake: McCune is Flex bad ass and my TileUI clone has fewer features than his. However, you can select, lasso, group, stack, spiral, drag, resize, unstack, remove and change the perscpective on the tiles below. And best of all, you can view the source. 🙂

View Source

Flash Player Required to view this demo.

Keep in mind that I’ve only been using APE and PaperVision for a week and I’m no expert at physics or 3D (yet). So the source has not been refactored or refined at all. It is a truly a quick and dirty version of DMc‘s slick project.  Maybe he’ll release his source and show me how to do this right someday.   😉

19 thoughts on “My own TileUI – Part 1

  1. Bill Post author

    I guess I hadn’t given the license much thought. I would say you are licensed to do whatever you want with it. I’m happy to give back to the community that inspired me to build this code this in the first place (even if it is just a knock-off other other people’s work). There is nothing too ground breaking here and there is always room for improvement. I’ll be excited to see if others can improve upon it or build stuff with it. I probably should post some sort of official license statement. I guess I’ll use MIT since that seems to be the most open.

  2. chad

    this is pretty damn slick. nice work. not sure if I know how I could use this, but I’m definitely bookmarking it for later.

    congrats on a great demo.

  3. Maikel Sibbald

    Very very very….. let me say very nice…. Keep up the great work…

    Use Away3D instead of Papervision….. you will even get better results 😉

  4. Bill Post author

    I just figured he was still working on it or something. I saw his post about not entering it in the Air Derby but had never seem him post anything about why he wasn’t releasing the source. Thanks for the heads up. Since mine is just a demo of APE and PaperVision3d in a Flex app with no real functionality, I think I’m in the clear.

  5. Signar

    I´m currently working on rewriting your code to work with great white and thinking about using the WOW-engine instead of APE. Will let you know how it goes! Almost no documentation on the main differences between Great White and previous version and how one should go about porting between them. Anywho, great stuff!

  6. Kiran M

    Hi Bill,
    Just tried making your demo work. I am having a problem with the papervision3d package. Bugged up with lot of build error. I understood that I am unable to get all the files packaged according to your project at one place. Can you help me in getting with papervision swc?

  7. Bill Post author


    The PaperVision3D version used for this is 1.5 I believe. It will not work if you compile against GreatWhite or 2.0. I think you’ll need to find the 1.5 tagged classes in the PaperVision3D repository to make this work.

  8. Pingback: PaperVision3D + APE (AS Physics Engine) Example Code – Inglés | CodigoFuente

  9. Pingback: Spark Physics with Flex 4 Components and Box2D | Bill White's Blog | HTML5 / Javascript / d3 / iOS / Data Visualizations / Flex

  10. Pingback: My own TileUI – Part 2 | Bill White's Blog | HTML5 / Javascript / d3 / iOS / Data Visualizations / Flex

Leave a Reply

Your email address will not be published. Required fields are marked *