Grant Skinner

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

@gskinner

A little house cleaning

Following my move to NetKeepers hosting, I had a lot of links and content go down for two reasons:

1) Case sensitivity on the new server

2) All of my ASP scripts are now useless

I’ve just gone through and fixed most problems caused by number 1, and will be learning either CF or PHP (most likely the latter, but I welcome comments) to fix number 2.

The 1000+ of you who tried to download gPathFinder while the link was broken will be happy to learn it is now back up. Grab it from the gskinner.com site in lab / source / FLA / pathfinder.

OOP4AS2#1: Classes and instances

This post on classes and instances begins my little expos� on ActionScript 2.0 and Object Oriented Programming. I won’t be going into tons of detail (for that you’ll have to buy the forthcoming “FlashMX 2004 Demystified” book from Macromedia Press!), but I’ll be giving a basic introduction.

I’ll also be covering a lot of these materials at FlashParade in October, and more briefly at the next Edmonton Flash User Group meeting on September 15.

Read on for the real content… 🙂
Continue reading →

Lots of OOP in AS2.0 goodness

In one month FlashParade in Marseille will be starting off, and it looks to be a great conference in a beautiful location! I’ll be there, speaking on Object Oriented Programming for ActionScript 2.0 – which coincidentally is the topic of the chapter I contributed to the forthcoming “Macromedia Flash MX 2004 Demystified” from Macromedia Press.

In order to whet your taste for both of them, I’m going to be running an expos� on OOP in AS2.0 on my blog. Over the next couple of weeks, I will be posting serial content on the new OOP keywords and methodologies found in Flash MX 2004 and ActionScript 2.0. I’ll be starting a little later today with the class keyword, and posting new content at least every couple days.

It won’t be completely detailed – but you know where to go for that: the book, or the conference. 🙂

I’ll also point you to some good resources for learning general OOP as I go.

_online and antiCache code snippets

These two source code snippets are great for when you’re developing Flash content for delivery online, that will also have an offline component, or that you will be testing locally.
The first is a simple one liner that sets up a global _online property that indicates whether the swf is being accessed via a web-browser online. The second is a more complex bit of code that allows you to intelligently control caching for loaded assets in a swf (swfs, jpgs, xml files, etc).
If you have any questions on the code, please enter them in the comments.
Read on for the code…
Continue reading →

eFug Worldwide User Group Meeting

Tonight, the Edmonton Flash User Group participated in Macromedia’s first worldwide user group event, and I must say, I was impressed.

Firstly, by the attendance. We had 78 people show up for the gathering, and it’s only been 2.5 months since we founded the group. It was a good crowd – friendly, interesting and diverse.

Secondly, by the presentation. It was delivered quite smoothly, and Breeze Live performed very well (once we did an emergency upgrade to the latest Flash plugin). My only real annoyance was that the chat field would lose focus every time there was a mode change.

A good time all round. I’ll have some photos up of the event on the eFug website sometime tomorrow. Thanks to everyone who showed up, Guru Digital Arts College for hosting the packed event, and Phil Chung and Michael Warf (my co-founders) for all the work they put into the event.

Code snippet: XMLNode.indexOn()

I plan to blog useful code snippets regularly. Just little bits of ActionScript that help me in my day to day coding.

To start, I want to share a little snippet that is possible the most useful 14 lines of code I ever wrote. It’s a simple addition to the XMLNode prototype that lets you index and reference a node’s childnodes based on any attribute or the nodeName. It will be less useful with AS2.0, due to the xPath implementation, but I expect it will still be faster, and will do the job in many situations.

I’m not sure I would ever have had the patience to write gModeler if it were not for this little gem.

Read on for the code…

Continue reading →