Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

Flash 8: Webcam Fire

I’ve been building out some new demos for upcoming conference sessions and workshops, and really like this one, which generates fire onscreen based on webcam motion. It basically turns you into the Human Torch. I think it’s a nice counterpoint to my Webcam Snowstorm experiment – fire and ice.

Another thing I find really cool about this is that it’s only a 1kb swf. Good work Flash engineering team!

Check it out, Flash 8 Player and a webcam is required:

Continue reading →

Major Flash Player 8 Memory Leak

Or… how to kill a user’s computer with 1 line of ActionScript.

I’ve been profiling CPU/RAM usage in Flash 8 content in the last few days in preparation for the Flash 8 Bootcamp I’m running in Toronto and LA. Last night I ran into a major memory leak that is wreaking havoc with some of my latest experiments, and this morning I isolated it. This leak makes it ridiculously easy to accidently create a process that increases the Flash Player’s memory heap at a very rapid rate, and ultimately immobilizes the user’s system (I’ve had to do a few slow motion restarts while testing this – I had over 15GB of virtual memory dedicated to the player at one point).

Continue reading →

And the gOOify Mike Chambers winner is…

A week ago we posted a friendly contest to gOOify Mike Chambers charming poonum. There was a ton of great entries – many of which made me laugh out loud. We went through 3 rounds of judging, based loosely on creativity, humor, title and execution.

In the first round, each of our 5 judges (AKA gskinner.com Flash developers) each nominated 3 entries as finalists. The nominees were:

Siamese Chamber Cat

Sumo Mike

Malignant

Mike as a punk

Yogi

My dog wants in on this too

Demonic Mike

Damn! Ugly one

Incredibles

Mike Chambers? or Agent Smith? (Matrix effect)

Just me (near the bottom)

Fat Kid

Alien

Ostrich

In the second round, each judge cast 3 votes for nominees other than the ones they chose in round 1. The votes from both rounds were tallied to find a winner – but we wound up with a surprise tie between Sumo Mike and Fat Kid (apparently we have a soft-spot for obese Chamberses). In the final round, Fat Kid Mike squashed Sumo Mike to take the title. Congratulations to Patrick Pietens of flashaddict.nl for olympic-level gOOification – he will be receiving a free copy of the gProject panel as a reward.

Great work by everyone! Here’s a list of all the web accessible entries we received. We also received a couple of entries by email from Saverio Caminiti and Mads Bjerre which were included in the judging.

Continue reading →

Alpha Video Article Released

Macromedia has released the second of a series of articles from us Flash developers at gskinner. This article entitled “True Alpha Video in Flash 8” gives you the knowledge and skills to create your first alpha video, and how to use that video in Flash. I learned a lot about the new Flash 8 video in researching this article, and I really hope you take away some good knowledge about creating and using alpha video from reading this. You can read my article here. While researching this article we had tons of fun filming Guirellmo the hamster for the goofy demo below. Guirellmo’s whole purpose was to eat, and run across the screen (easier said then done). Just click to drop food in his feeding area and watch him do his thing.

Continue reading →

Upcoming Events: LA U/G, MAX, Spark, Workshops, FF

Man, I have a ridiculously busy schedule over the next few weeks… To think that a week ago I was lounging in the sun on the Mediterranean on my honeymoon.

There’s some great events coming up that I’m proud to be a part of, in chronological order:

  • LAFlashapaloozastock (love the name), Oct 15th: All three (!?) LA Flash User Groups have joined forces to put on this pre MAX gathering. I’ll be doing a freeform “performance” (first time I’ve had a preso billed as a performance, but it almost works for this one) on my latest Flash 8 experiments, including a few wicked cool ones that I’ve never shown publicly.

  • Macromedia MAX, Oct 16-19: This will be my first time at MAX, and I’m looking forward to seeing the sights, meeting up with the MM crew (have to congratulate them on all the awesome work), and other Flashers. I’ll be doing a light-speed talk cramming all of the new Flash 8 features into less than one hour (I’ll be qualified to run auctions by the end of my last session). It’ll be fast, informative, and hopefully fun.

  • Flash 8 Bootcamp in Toronto and LA, Nov 11-12: I’m working with FitC to deliver a two day, comprehensive workshop on the new features of Flash 8. It is “the fastest way to get up and running with all of the new features in Macromedia Flash 8 Professional”. I’ll also be running this workshop in Hollywood Dec 2-3. For more info, check out the Flash 8 Workshop site.

  • Spark Europe (AKA Flashers gone wild), Nov 16-18: Yes folks, it really is a legit Flash conference in Europe. Organized by Stewart McBride of UDA (formerly one of the main organizers of FlashForward), and backed by Macromedia, this should be a great conference. They have a great speaker line-up, and it’s in Amsterdam dangnabit. I guarantee there will be stories floating around about this one for years. It looks like I’ll be doing a 3 hour workshop on Flash 8. Keep an eye on the site for more details.

  • FlashForward2006 Seattle, Feb 27-Mar 2: I hope to attend this inaugural Seattle FlashForward. I’m excited to see that Lynda is working hard to breath new life into this conference and make it even better than it’s been in the past.

Busy, busy. But there’s certainly no shortage of things to talk about with Flash 8, Zorn, Flex 2, and AS3. I think I’ll be watching a lot of the sessions at these conferences, which is something I haven’t done in years – exciting times!

Going to one of these events? Have a question about the workshops? Post to the comments – I hope to see you at one of them.

Source Code: Shape-based Hit Detection in 8

A while back I posted a demo of shape-based hit detection in Flash 8. At the time, I wasn’t allowed to post the source code, but promised I would later. So here it is.

The com.gskinner.sprites.CollisionDetection class is really simple to work with, there is a single static method called checkForCollision with four parameters:

checkForCollision(movieClip1,movieClip2,alphaTolerance);

movieClip1, movieClip2 – The MovieClip instances to check for collision.
alphaTolerance – a number from 0 to 255 that specifies the transparency tolerance when testing the collision. A higher number will increase the tolerance (ie. allow more transparent parts of the MovieClip to register collisions). Defaults to 255.

Returns a Rectangle object specifying the intersection of the two MovieClips in the _root coordinate space, or null if they do not intersect.

Check out the original post for more information on how the class works.

Click here to download. It includes two simple demos to help you get started with it.

Continue reading →

Flash 8: gOOify Mike Chambers, and win!

So I’m back from my honeymoon on the Mediterranean, which was awesome, and very relaxing. Being the nerd I am I came back with a few sheets of sketches and descriptions of experiments/concepts I wanted to pursue when I got home.

The first idea that I tackled is an image goo-ifier that works similarly to PowerGoo, or Liquify in PhotoShop. It’s pretty simple in implementation, but is one of my favorite Flash 8 experiments to date.

This experiment was inspired by Guy Watson’s PowerGoo experiment, though I believe it takes a completely different technical approach. I’m guessing his uses per-pixel manipulation, whereas mine uses a dynamically generated displacement map. His offers more flexibility in the level of manipulation, while mine runs a lot faster, and generates a smoother result. It also includes a snifty animate function.

Thanks go to Mike Chambers for agreeing to be the victim of your distorting (distorted?) fun. I thought it was fitting to use Mike because in many ways he’s the face of Flash – and I’d already picked on Mike Downey enough. 🙂

Just to make things interesting, we will be giving away a free copy of gProject to the best gOOified picture of Mike that we receive by Monday, October 10, when we will post the cream of the crop and the winner to the blog. For now, you’ll have to screenshot your results, post it to your site and put a link to it in the comments with the title of your “art” (or email the pic to us).

Which reminds me: we have another free copy of gProject for the first person to create an AS & PHP system for sending a COMPRESSED version of a BitmapData object to the server and saving it as a JPG.

Continue reading →

gStartPage

gStartPage is an extension for the gProject Panel. It gives you quick access to your gProjects and lets you select a project without having to open a blank document first. Clicking a gProject selects the project in the gProject panel and opens the anchor FLA in flash. If the panel is not open, the anchor file will still open, and the project will be selected when you open the panel manually.

Continue reading →