0

Find a good programmer

Posted by Gavin on Jun 20, 2011 in Misc | 208 views | Comment

Here is an excellent article to help businesspeople (non-programmers) identify good programmers.

I agree with it entirely, but would add that you should examine both the end results of the person’s work and the code itself.

Just see if both look neat and tidy, and see if they can show you how they built things for easy re-use. Frankly, even as a non-programmer, you’ll be able to make some sense of the code, of what does what, if it is well written. It should be commented in plain English anyway.

Finally on this, note that you are looking for brevity. With code, as often with design, less is more. Good programmers are always looking to make their code shorter, yet more powerful, and looking to keep to the principle of DRY.

Good programmers are able to charge more than bad programmers, because they are in demand. They’re unlikely to be immediately available. But they should, in the long run, save you money, because they will get the job done (for a start!) and get it done properly.

 
0

iPhone apps can now be created with Flash CS5

Posted by Gavin on Sep 11, 2010 in Adobe Flash | 540 views | Comment

This is indeed great news for developers: Apple have lifted the draconian restriction they suddenly placed on developers using the Flash CS5 packager to create iPhone apps.

One wonders if this is because the apps over at the completely open Android Market are ever increasing in number, while Android devices continue to outnumber the iPhone in the USA…

It still doesn’t put me in a great hurry to develop iPhone apps above Android ones, but it does at least allow us more potential flexibility.

 
2

Flash is going from strength to strength

Posted by Gavin on Aug 23, 2010 in Adobe Flash | 967 views | 2 comments

CheetosWe hear a lot of talk on the Web these days about Flash being killed, that it has been replaced by HTML 5 and so on.

This talk is premature, at best. If you click on the image and take a look at this recent Site of the Day you can see a whole myriad of things which are nowhere near being possible in HTML 5 and may never be possible using it. Take for example the way the user chooses a flag and then this is overlaid and a displacement filter is applied to the resulting image, seamlessly animating it.

Flash is very good at video, granted. But it is absurd to run away with the idea (as Steve Jobs erroneously did) that this is therefore all it does. ActionScript 3 is a massive, structured, powerful OOP language, Flash has evolved through 11 versions and is still evolving (now assisted by the collosal Google). HTML 5 is nowhere near it. Not even in the same ballpark. Come back in 5 years, maybe it’ll be a little closer – but still I wouldn’t bank on it: during that time, Flash will have been evolving further…

 
0

Dave Berzack: Killa Appz

Posted by Gavin on Aug 5, 2010 in Misc | 1,067 views | Comment

Over the other side of the pond is fellow freelancer Dave Berzack.

I think he can safely add rapping and music production to his skillset on the evidence of this great video! :)

 
20

Free preloader!

Posted by Gavin on Jul 24, 2010 in ActionScript 3 | 6,533 views | 20 comments

View the preloaderI’ve just got around to doing something I’ve been meaning to do for a long time:

I’ve made a preloader component (an SWC file) which is suitable to be dropped on the first frame of any Flash movie and it will preload that timeline with precision, and I’m giving it away here:

Preloader (zip, 65.59 kB) — Downloaded 989 times

There are a few notable things about this preloader which make it worth using, I think:

  • It waits .2 of a second then checks whether more than 95% of the movie has already loaded. If it has, the loader aborts – you never even see it.
  • When it starts preloading it doesn’t include data already loaded (for example, itself). So, it doesn’t jump to 10% immediately. It preloads remaining data, always starting at 0%, which I think looks a lot better.
  • It will always centre itself on your stage and remain centred if the stage is resized.
  • It’s animated nicely and drops in and out of view.
  • It smoothly tweens between (even small) data chunks, rather than jumping.
  • It has what I think are the right pauses during its operations.
  • Its colour is configurable via the Component Inspector.
  • You can also decide via the Component Inspector whether or not the timeline it is loading should fade in once the load is complete.

How to install the component

This component uses ActionScript 3 so requires at least Flash Player 9. To use it you’ll need to have a copy of Flash CS3, CS4 or CS5 and drop the Preloader folder (with the Preloader.swc inside it) into this directory or its equivalent on your system:

C:\Program Files\Adobe\Adobe Flash CS5\Common\Configuration\Components

One equivalent, on Vista, is this directory:

C:\Users\Gavin\AppData\Local\Adobe\Flash CS4\en\Configuration\Components

Of course, you replace my name with yours, and this is where user-specific, as opposed to shared, components may be stored.

You can probably install it on a Mac too. ;)

How to use the component in the IDE

To use the component without writing any ActionScript at all, restart Flash or choose “Reload” from the submenu on your Components panel, and you should see the preloader in there.

Then, when you wish to add it to a project, make sure the first frame of the project is blank and drag the component from the Components panel onto the stage. It doesn’t need an instance name. You can then go to your Component Inspector and set its two properties.

Then just export your movie – try a Test Movie then hit ctrl-Enter again to simulate download.

How to use the component in pure ActionScript

If you wish to add the component using code instead, you will first need to drag it from the Components panel into your Library (as before), then your Document class will need to look something like this:

package {

 import flash.display.MovieClip;
 // Need to import the class..
 import com.orlandmedia.utils.preloader.Preloader;

 // Document class extends MovieClip..
 public class Main extends MovieClip {

  // I'm using a Singleton pattern here for the Document class
  private static var _instance:Main;

  // This'll hold the preloader..
  public var preloader:Preloader;

  // Constructor function
  public function Main()
  {
   if (_instance)
   {
    throw new Error("One instance exists! Please access via Main.getInstance()");
   } else {
    _instance = this;
    initialise();
   }
  }

  public function initialise():void
  {
   // This is not to do with the preloader, but stops a 2 frame movie on the *second* frame after the preloader has finished, as a means of stopping it looping
   addFrameScript(1, stop);
   // This instantiates the preloader - note parentheses are not needed when not passing any parameters. Preloader inherits from Sprite.
   preloader = new Preloader;
   // This optional line sets the colour of the preload bar - in this case to red
   preloader.colour = 0xFF0000;
   // This adds the preloader to the Display List - it'll do the rest
   addChild(preloader);
  }

  // Part of the Singleton pattern
  public static function get instance():Main
  {
   return _instance;
  }

 }

}

I have not yet implemented Live Preview for the component on the stage (showing the colour)  but may do so in the future.

This component is issued with the MIT license and you’re welcome to use it in your own projects both personal and professional. In making it I utilised Jack Doyle’s excellent TweenLite library, as I often do.

Finally, this is the first time I have distributed a component publicly, so any comments please let me know! :D

 
0

YouTube supports Flash

Posted by Gavin on Jun 29, 2010 in Adobe Flash | 592 views | Comment

In this article YouTube explains why the Flash Platform remains its primary choice for video delivery. In a nutshell, it’s because it’s the only technology developed enough to be able to do the job.

 
0

Flash FPS monitor

Posted by Gavin on Jun 22, 2010 in ActionScript 3 | 931 views | Comment

FPS MonitorYou never want to re-invent the wheel. I was just looking around to see if there’s a decent performance monitor for checking Flash projects before deployment and I found this one.

You can always use Windows’ performance monitor too (right click taskbar, select Task Manager then Performance), but I like the way this one overlays, and you can of course see frames per second with it. Nice work.

 
0

Nexus One speed tests

Posted by Gavin on Jun 5, 2010 in Adobe Flash | 694 views | Comment

[swf]http://www.youtube.com/watch?v=DUWo19BcC7s, 300, 198[/swf] Here’s an interesting video showing speed tests for HTML 5 vs. Flash content on the Nexus One phone.

The HTML 5 content is tested on an iPhone too, but the Flash couldn’t be benchmarked on there due to that device being unable to support Flash.

 
0

Why is WinZip so slow?

Posted by Gavin on Jun 12, 2009 in Misc | 1,710 views | Comment

You might have noticed Winzip has started to run very slowly ever since you installed Windows XP Service Pack 2 or started to use Windows Vista. It’ll crawl along, taking about a second to extract each each file in an archive. What’s going on?

The explanation is on WinZip’s site. It’s to do with Windows’ Attachment Manager assigning security threat levels to files. This really isn’t acceptable though, because it will slow down your work so much.

The suggested solution is to “unblock” each file on a file for file basis, but this again is not ideal. We are not aware of a permanent solution to this issue (i.e. a way of turning off the hyper-vigilant Attachment Manager). A better solution is perhaps to turn to 7-Zip.

7-Zip is freeware which is faster than Winzip, integrates into the shell and can handle at least as many compression formats. I’m using it, and at the time of writing it seems to be the best solution for the problem with WinZip.

 
0

Error #1007: Instantiation attempted on a non-constructor with APE

Posted by Gavin on May 1, 2009 in ActionScript 3 | 3,967 views | Comment

We’re using APE – the ActionScript Physics Engine – for our current project.

If you run into the TypeError:

Error #1007: Instantiation attempted on a non-constructor

..when compiling with Flash CS4, the reason is that APE defines a class called Vector, which clashes with a new class, of a different kind, in Flash 10, also called Vector.

The solution is to either avoid publishing for Flash 10, if you don’t need it, or replace all references to Vector throughout the APE code with the fully qualified reference org.cove.ape.Vector.

100% Valid XHTML 1.0 Transitional
Copyright © 2008-2012 Flash Freelancer All rights reserved.
Flash Freelancer version 1.0 a child of the Desk Mess Mirrored version 1.8.1 theme from BuyNowShop.com.