Archive for January, 2008

Head Tracking VR Display with WiiMote

Friday, January 25th, 2008

Johnny Lee

Johnny Chung Lee is my nerd hero!

Current Mortgage Rates

Mortgage Rates

KitchenSync Mailing list / Google Group

Friday, January 25th, 2008

Hi. I’ve created a Google Group for news and support for KitchenSync!

Google Groups

Subscribe to KitchenSyncLib for AS3

Email:

Visit this group

The State pattern in Flex - combining view states with logical states

Wednesday, January 23rd, 2008

If you’ve used Flex, you’ve no doubt (er, hopefully) been using View States (AKA <mx:State>) to change the look of your RIA as it progresses through different situations of use. While this is immeasurably useful, it does not necessarily qualify as an implementation of the State Design Pattern which allows you to change not only how a component looks but how it functions as well.
(for more on design patterns, read my favorite book Head first design patterns).
(more…)

Introducing KitchenSync - an open-source animation library for AS3

Tuesday, January 22nd, 2008


After about 6 months in development, I’m very proud to announce the release of KitchenSync, a multi-purpose tool written in ActionScript 3.0 for doing tween based animations and timing of functions and much more. The project is open-source under the GNU LGPL and hosted at Google Code. Please take a moment to check it out and feel free to write to me with questions, comments or suggestions for improvement!

KitchenSync is more than an animation library

KitchenSync is more than an animation library. Tweens are a major part of KitchenSync but that is not the end. It also allows you to sequence sounds, functions, and event dispatches among other actions. The framework is open-ended allowing you to come up with new ways to work with the virtual timeline.

KitchenSync was designed with developers in mind

KitchenSync was designed for developers who want a smart way to handle animation or other time-based functionality with code. Written from the ground up in ActionScript 3.0, KitchenSync relies on smart object-oriented architecture rather than complicated shorthand. It includes a number of features and shortcuts, such as the clone() method, that save effort for developers. KitchenSync makes extensive use of events and informative runtime errors and is quite flexible when it comes to extending the functionality.

KitchenSync aims to…

  • offer a well-architected, extensible framework for working with time-based animations and events.
  • take advantage of the power of ActionScript 3.0 while using OOP best practices and design patterns and without requiring the Flex framework.
  • respond to the needs of developers with a rich set of features.
  • be a full-featured library for animation and timeline based actions.

Links

GTA 4 to use the Euphoria physics engine

Thursday, January 17th, 2008

Well, apparently it’s been old news for about a year but Grand Theft Auto 4 is set to use the Euphoria physics engine developed by Natural Motion. If you haven’t seen the videos of this you should really check it out. The engine features real-time character animations based on the character’s AI and physiology and all of the materials in an environment have behave realistically, like splintering wood or buildings that fall apart when their structural integrity is comprimised. The same physics engine will be used in the upcoming Indiana Jones game.

I worry a bit this will cause the animations to look too real – while watching these videos I was wincing at each punch and I felt sorry when the storm troopers fell to their deaths.

Thanks to Jason S. for the links!

No children on the stage - a confusing Flash CS3 display list issue

Tuesday, January 15th, 2008

A reader wrote to me with an interesting Flash CS3 problem that had me stumped at first (mostly because I use FlexBuilder instead of Flash). I thought I’d post the answer here so we can all benefit from it.

The Problem

Ben H. writes…

I’ve been trying to get familiar with a “best practice” on [looping through the display list]. The trouble is, when I enter the following on the first frame of a blank .fla file:

trace("Number of Children in a blank SWF:"+stage.numChildren);
trace("Child 1:" + stage.getChildAt(0));

I get this:

Number of Children in a blank SWF:1
Child 1:[object MainTimeline]

Now that may seem grand, but I’ve drawn several shapes and have a text field and named movieclip instances on stage as well – so why [does it only count one child?]

Solution after the jump.
(more…)

Best of the best of the best of the best….

Monday, January 7th, 2008

Fimoculous is a best of list of every best of list on the internet! Not recommended for self-hating people who will beat themselves up for not being on any of them.
For your convenience:
Online
Games
Design
Advertising