Flash 8: Alpha Masks With Blendmodes

One of the things I’ve wanted for years in Flash was alpha masks. That is, masks that have gradations in transparency, not just boolean visible / not visible as with masks in Flash 7. Now with Flash 8 we finally have them… sort of.

Flash 8 doesn’t have actual alpha masks per se, but it does have a blend mode called “alpha” which emulates them. You can place a clip with a blend mode of “alpha” into another clip with a blend mode of “layer”, and the parent clip will use the alpha of the child clip for compositing. This gives you the visual effect of a alpha mask (even if it really isn’t one). It also has a blendmode called “erase” that is basically the opposite of alpha – more opaque areas on the child clip are less opaque on the parent (ie. the child “erases” the parent).

Continue reading →

Flash 8: Seafoam

Here’s an experiment I built for Flash Player 8 with my crystallization logic. It utilizes a custom bitmap caching routine to allow a larger canvas, and much higher level of graphical complexity than my previous crystallization experiments. One of the things I find interesting about this piece (which is actually true of a fair number of the pieces I’ll be posting), is that it uses vector graphics and even timeline animations to draw the base graphics, but you never actually see the vectors. The vectors are basically drawn in a hidden clip, then blitted onto bitmaps (with effects applied) without ever being rendered to screen directly.

Continue reading →

Flash 8: Thoughts and Experiments

I’m sure everyone has heard the news about the official announcement of Flash 8. It looks like it’s going to be an awesome release, with a real focus on expressiveness (aka designer features), but still lots of goodies for developers. I’m really happy about the visual boost it will give to both my personal experiments and professional work, as well as the performance increases, and even just the name change (Macromedia Flash MX 2004 Professional was a little lengthy). I haven’t had this much fun with Flash since about Flash 5 (when they finally added the ability to type in AS code).

We’re planning on making gBlog the place to come for Flash 8 content, with articles and tutorials on many of the new features planned for shortly after release. I’ll also be giving a talk on all of the new features at MAX in October, and running a workshops on it shortly thereafter (currently planned for Edmonton, Toronto and possible New York and LA). I’ll also be releasing some of the experiments and code that I’ve been playing around with in Flash Player 8 over the next few weeks, starting with flowerGarden today.

Continue reading →

gProject panel documentation posted.

gProject panel is now available!

gProject is almost ready, we’re just packaging it all up, and getting prepared to process sales (nothing fancy, just Paypal for the time being – but I think I’m the only person on the planet that has never used Paypal before). I think I’ll just say we’ll have it available by Monday, and that way if we release it earlier I’m doing good. 😀

In the interim, we’ve finished up the first draft of the documentation, and are making it publicly available so that developers can get a good overview of what the panel does before they purchase it. Click here to view the gProject documentation. Please comment below if you don’t understand any of the features – we want to make it as clear as possible.

Update: If the rumors are correct about 8/8/8 (Flash 8 announcements on August 8), then we might wait until Tuesday or Wednesday to do an official release, otherwise we’ll be drowned by MM.

Before anyone asks, gProject will be updated as necessary for the next version of Flash.

MAX is Grant Skinner.

I’m happy to announce that I will be speaking at Macromedia MAX in Anaheim this year on “What’s New in Next Generation Flash”. The session description is:

In this one-hour session we will thoroughly review the biggest release of Flash in the history of the platform. We’ll talk about how to best apply the new graphical expressiveness features both visually and via code. We’ll discuss the long list of new video features, including encoding and delivering video. Finally, we’ll explore details of all of the other new features in the next generation of Flash.

Sounds like a lot to cover in an hour, eh? I’ll try my best to do it justice.

I’m also very honored to be part of the MAX marketing campaign. I’ve appended the mailing that went out this morning below (note that I had to do some hack-ish resizing to get everything to fit in my blog layout).

Continue reading →

gskinner.com grows again

I’m very happy to welcome 2 more excellent Flash developers onto our team. Say hi to Kyle and Wes, who both started on Tuesday. That brings our little team up to 7 full time people, plus one intern (hi Steph!). I’m pretty excited about our expanding capabilities – it enables us to deliver more innovative and large-scale projects while still having time to experiment and work on internal projects (like gModeler2 and GLIC/mCOM). Speaking of which, if you have a cool project, and are looking for an effective, organized development team to help you deliver it, send us an email.

Hopefully I can convince the new guys to blog a little more often than the existing team. 😉

gProject: A project panel that works.

gProject panel is now available!

I’ve never been happy with the project panel that ships with Flash, so when we had some spare cycles in the office, I decided it was time to rectify it. The result is a very robust project panel that incorporates all of the features we’ve been able to dream up in a tight, easy to use package. We are polishing it up now, and expect to start selling it in the next couple weeks (don’t worry, we’re staying simple with this – paypal or somesuch, so no unpredictable delays on this one).

Here’s some screenshots of this puppy. I’ll try to list all the visible features on each. I’m really excited about this panel. It’s been a huge productivity booster for us, and I’m sure it will be the same for other developers.

Continue reading →