Posts RSS Comments RSS 31 Posts and 54 Comments till now

Go NOOP with ActionScript 3!

Finding classes and inheritances too geeky or scary? Go none object-oriented programming (NOOP) with AS3! There’s nothing wrong writing ActionScript 3 without any Object-oriented Programming (OOP) practice. What worked last time, timeline based coding with gotoAndPlay, gotoAndStop and tweened animations, still works with Flash CS3 in AS3 and it will work with Flash CS4 in the future.

There’s a vibe that ActionScript 3 is not for designers or non-serious Flashers. The hype is brought up by the improvement of AS3 compared to AS2. Programmers are very happy with AS3 because they can finally do some serious OOP and practices Design Patterns methodologies. Therefore, classes and packages appear much more frequent in tutorials and examples.

For designers, what excites them is visuals, not ease of maintenance or re-usability, which is the whole point of OOP. It’s hard to sell the idea how wonderful AS3 is with lines and lines of OOP codes which doesn’t really move anything around. OOP is great but not attractive to beginners.

This new category “NOOP” focuses on writing ActionScript 3 examples without any classes or OOP and it tries to bring back the painful but sweet programming experiences to designers.

Call for Flashers!

Yolk Singapore is looking for intermediate to advanced Flash designers and developers for full-time (preferably) or contract jobs.

Flash Designers/Developers Job Description

  • Need AS2 and XML.
  • Widgets developed in Flash CS3 with PHP and MySQL.
  • Exploring AS3, Papervision, FlashComm, Microphones, WebCams…
  • With style preferred!

Able to develop interactive sites similar to the following:

Email us: yellowfellows {@} yolk.com.sg

Link: To AIR or not to AIR

Link: http://gregorywilson.wordpress.com/2008/05/28/to-air-or-not-to-air-pizza-hut/

Excited about AIR? Don’t rush into it without considering whether it is suitable for your project or client. Similar to previous article about Papervison3D’s limitation, this article is a continuous effort to alert designers and developers that do not get carried away by new technologies and trends. The right work flow should always be idea first then seek for suitable technologies to execute.

“There’s nothing wrong with any technology. It’s the user.”

Exciting position at Profero ShangHai

Profero ShangHai
(www.profero.com, www.reddotprofero.cn)

Head of Production
(Senior Front-end Developer / Senior Rich Media Designer)

Job Description
The Head of Production works cooperatively with the creative department and Producers/Information Architect to translate visual designs, user experience flows and content into functional interfaces for client projects. You must be an expert in site structure and content management optimizing site builts for integration, speed and quality. You will work closely with members of the creative team and other developers both front-end and backend to implement and optimize rich media and dynamic site experiences and determine browser or other clientside technology recommendations and guidelines during the Planning phase. You will typically join a project team during Discovery phase of the project to assist in the development of engineering requirements.

Continue Reading »

All about preloader Part IV - Preloader in AS3

Based on Part III’s codes, converting AS2 preloaders into AS3 is pretty simple.

Continue Reading »

New features in Flash 10

Here’s a quick list of new stuff listed in Adobe’s demo page:

  1. New Text Engine
  2. Inverse Kinematics
  3. Custom Effects
  4. GPU Compositing: New but has some serious problems at the moment. More info at Tinic Uro’s blog.
  5. Dynamic Streaming: Not useful at the moment yet because it needs to work with a new version of Flash Media Server. This protocol allows lossy delivery.
  6. Improved Drawing API: Senocular has a detailed tutorial about it. The new Vector data type and drawPath and drawTriangles will give significant performance boost for Papervision3D and all other 3D engines.
  7. Native 3D: Native but very raw. Only supports rotation inf 3 dimensions. But I’m sure it means a lot for Papervision3D guys. There’ll be significant performance improvement in the never version of Papervision3D.

And some features not covered in the demo:

  1. Dynamic Sound Generation: You can directly talk to the sound card (sort of)! Try Keith Peter’s demo and be a musician using your mouse.
  2. FileReference Runtime Access: Now you can directly work on user’s local files. Previously, you need to upload a file to the server, download the file from server and then you can edit it. It’s much easier now. For more info, please refer to Draw Lgoic’s blog.
  3. MouseCursor: A new class to set Mouse cursor.
  4. Text field using device fonts can be animated now, transparency or scaling are all possible out of the box.

Every single feature leads to a whole new area of excitement to explore. You can see the new functions here.

10 tips for the print designer who wants to go online

  1. The most popular screen resolution is 1024×768
  2. Most people use PC
  3. IE is the most popular browser
  4. Preferred color model for online is RGB not CMYK
  5. Preferred file formats for images are JPG, PNG and GIF not TIFF
  6. Rule of the thumb: images should just be 72 dpi rather than 300 dpi
  7. File size for images should not exceed 1 MB
  8. Fonts supported in HTML are: Arial, Helvetica, Times New Roman, Courier, Georgia, Verdana, Geneva
  9. HTML text cannot be kerned. Flash dynamic text cannot be kerned either
  10. Always always always test your layout in different monitors and browsers before going live

All about preloader - Part III: Preloader in AS2

The most important information for a preloader is the number of bytes loaded and the total number of bytes of the file (file size). In ActionScript 2, getBytesLoaded and getBytesTotal functions serve the purpose. The most basic implementation is like this:

stop();
function preload() {
	var l:Number = getBytesLoaded();// loaded bytes of the swf file
	var t:Number = getBytesTotal();// total bytes of the swf file
	var p:Number = l/t;// percentage loaded of the swf file, value range from 0-1
	updatePreloader(l,t,p);
	if (p == 1) {
		onEnterFrame = null;// remove onEnterFrame loop
		gotoAndStop("main");// go to the main frame
	}
}
function updatePreloader(l:Number,t:Number,p:Number){
	//most of the time l and t are not used, but just in case you need it there's no harm to keep them
	trace("bytesLoaded: "+l+"  bytesTotal: "+t+"  percentage: "+p);
}
onEnterFrame = preload;

Based on Part II’s 2 keyframes structure, the codes above should be placed in the “preloader” key frame and core codes should be placed in “main” key frame.

Visuals for indicating the loading progress can be easily extended from the basic codes shown above. All we need to do is to play around with updatePreloader function. Here’s a list of simple visuals:

Continue Reading »

Job vacancy in Big Red Button

we are looking for a very talented individual who has strong design and development background for a one of project (to start with).

If you are interested, please send mail to

to:ray{@}bigredbutton.com.sg
subject: I am a Flash Whiz
From: your full contact details.

state availability: contract scheduled must be immediate to 6th June.
body: include examples of work, familiar with flash video encoding, action scripting etc.

All about preloader - Part II: Preparation for preloading

Before building a preloader, let’s take a look at how SWF files loads.

SWF files are displayed in a streaming manner. Frames in the main timeline are loaded from 1 to the end (from left to right in Flash IDE). The user will be able to see a frame once it is loaded, without loading the whole SWF file. Because of the streaming nature, a SWF file with only one frame in the main timeline will only show up until everything is loaded. A preloader is not needed in such situation. In order to make a preloader visible during the preloading phase, preloader should be placed in the first frame and the contents should be placed in some frames behind it.
Continue Reading »

Next Page »