Lanny McNie

As the dev mgr, Lanny oversees the technical day-to-day details of production and makes sure things get out the door.

@astrostyle

gProject for Flash 8

I know its a little later than promised, but an update to the gProject panel is now available that plays nice with Flash 8 (But still works in MX04 7.2). The new version also fixes a few bugs, and takes advantage of some of the new Flash 8 enhancements (such as setIdleTimout).

As usual, gProject can still be purchased here, and you can find more information on the gProject page, as well as the online documentation, which has been updated. For those who purchased gProject, you should receive an updated version via the email address you provided today. If you haven’t received anything, please feel free to send an email to gskinner (at) kagi (dot) com.

Important Notice

gProject does NOT work with projects and files stored on a network drive. This has to do with a limitation in the JSAPI, and as such may not be resolved in future versions.

Flash 8 Source – ColorMatrix

The new ColorMatrixFilter in Flash 8 provides enhanced color manipulation capabilities to developers. If you’ve played around with it, you’ve noticed that the ColorMatrixFilter accepts a 5×4 matrix (20 element Array in Flash) and uses specific indices in that array as multiplication values for Red, Green, Blue and Alpha, as well as offset values (we are currently writing an article explaining different types of matrices in depth, including the ColorMatrix, which you should see at Macromedia’s Developer Center in the near future). The ColorMatrix class was born a while back out of the need to have a more “friendly” programmatic interface to manipulating these color values.

ColorMatrix provides a way to adjust Brightness, Contrast, Saturation and Hue based on a range of numeric values as well as multiply matrices. The ColorMatrix can then be passed into ColorMatrixFilter to apply color adjustments. The added bonus of ColorMatrix is that it uses the same calculations to generate matrix values as the Flash 8 IDE (with the exception of contrast adjustment which uses linear interpolation to provide a bit more granularity).

Continue reading →

Flash 8: DevNet Article Series

Macromedia has been working hard to ensure there will be a steady stream of information available to developers when Studio 8 drops, and here at gskinner.com we’ve been working hard to help them. We’re writing a series of DevNet articles, which will be released over the next couple months, on some of the hottest new features in Flash 8 Professional.

The first three, which should be released over the course of the next month include: an exploration of my varicose-g experiment in Flash 8; a beginners guide to preparing and importing video with alpha channels using After Effects and Flash 8; and a look at binary numbers, hex numbers, bitwise operators and color values. We’re planning to follow those up with a few more great articles on important Flash 8 topics.

Keep an eye out for them and a ton of other great content on the Macromedia DevNet. We’ll also post here as each article is released, along with other tips and code.

Here’s a look at varicose-gv8 (which you might recognize from a MM keynote). The latest Flash 8 player is required.

Continue reading →

Source Code: MultiTween Class

I’ve wanted an easy way to tween multiple properties of an object for a while now, but always been a little too lazy (or busy) to build one. Enter Flash 8, with its abundance of matrixes and filters, just begging to be tweened. My requirements were fairly straightforward:

  • Support for matrixes (arrays) and objects
  • Simple to integrate with existing tweening classes and custom tween routines
  • An extremely straightforward and easy to use API

The result was the com.gskinner.transitions.MultiTween class, which you can download at the end of this post. It allows you to programmatically tween multiple object properties or array elements by changing a single value. Here’s a quick API spec:

Continue reading →

Flash 8: Jungle-g Experiment

This experiment grew (ha!) from my previous vine-g and flowerGarden experiments, and actually preceded the Sakura experiment. It draws a randomly branching and meandering vine with leaves and randomly generated flowers using some Flash 8 magic including: run-time DropShadowFilter and BevelFilter; iteratively applied ColorMatrixFilter to fade back older vines; custom bitmap caching (or blitting) to allow continual generation without slowdown.

It also uses a ColorMatrix class I wrote in conjunction with ColorMatrixFilter to hue shift the flowers. I will be releasing this class for free shortly after Flash 8 is released – it is a huge time saver.

Continue reading →

Flash 8: Blueprint Magnifying Glass Demo

Someone pointed out that my previous magnifying glass demo wasn’t as clear as it could be. This one is a bit better than my previous demo because it uses a high resolution image (so the magnified view is full resolution), and the image has more straight lines so it’s a lot easier to see the lens distortion at work.

UPDATE: Just updated with a better displacement map. Thanks to Ralph Hauwert for prodding me into doing so.

Continue reading →

mCOM / GLIC components released

I’m very happy to announce that the mCOM (formerly GLIC) component set has been released, and is available for purchase. The final set of 21 components meets the original goals I established for GLIC: They are much smaller; massively more processor friendly; mostly polymorphic with v2 components (so you don’t have to relearn everything); and utilize a clean, cohesive architecture (say goodbye to Array and XML mix-ins).

Beyond the above advantages, these components are backed by a creative and committed company (two of them really – gskinner.com will continue to work closely with Metaliq), that will continue to grow and enhance the set to meet developer needs. This is something that the Macromedia component set is unable to do (for good reasons, in their case). This is balanced with a commitment to keep the API and code base stable – so you don’t have to worry about code you write being obsoleted because some guy has a cool idea that requires an API change.

I’m pretty psyched to see these babies finally hitting the market, and looking forwards to seeing what people build with them. I’m also excited that we can start using them in our own projects – I hope to post some cool examples over the next few months.

Continue reading →