I have written many tutorials and this is the place that you will find them. Most of them are in flash, but a few of them are in ColdFusion. Who knows what ind of tutorials I will create in the future?

All of the flash tutorials can be found on my good friends website Graphic Mania who has many such tutorials on many of the topics in Graphic Design. I started writing for the site back in Flash SC 4, and I still do in Flash CS 6, which as been a number of years. Even though of the many changes in flash we try to keep up, with what is popular today. The later tutorials have been on using flash & AIR, and we are working n some gaming features.

Using the Color Picker
How To Create A Flash Login Screen Tutorial
How To Create A Flash Login Screen Tutorial – Part 2
Embedding Fonts for Components in Flash
Checkbox and AS3 in Flash CS4
Making a Guessing Game in Flash CS4
Please refer to:
For a listing of my ColdFusion tutorials
Select like with cfqueryparam
Create Update Delete example

New Motion Editor Workflows & Shortcuts

There are several workflows and shortcuts  in new motion editor.

Property Curve Editing
1)      “Double click” on selected property curve to add new anchor point.
2)      If anchor points and control points are collapsed (i.e. corner point), then mouse “drag” operation moves anchor point by default.
3)      In order to use control points in above mentioned scenario, select the point & then “Alt/option+drag” to bring out control point.
4)      When control points are accessible, dragging control point always makes sure both control points are in straight line (180 degree angle)
5)      Use “Alt/option + drag” on control point to move only selected control point, other control point stays stationary.
6)      When control point handles are pulled out, “Alt/option+click” on anchor point to collapse them & make it a corner point. ( make it anchor point same as mentioned in point2 above)
7)      Use “Shift+drag” on anchor point for accurate linear movement either horizontally or vertically.
8)      Select any anchor point & use “up/down arrow key” to move anchor point 1 unit up/down.
9)      Select anchor point & “shift + up/down arrow key” to move anchor point 10 units up/down.
10)  “Ctrl/Cmd + click” on anchor point to delete anchor point (not applicable for first & last anchor point). Alternatively select the anchor point & then press “Delete key” to delete the selected Anchor point(not applicable for first & last anchor point)
11)  Copy curve : choose “copy” from right click context menu on grid or make sure grid has input focus and use “Ctrl/cmd + C”
12)  Paste curve : choose “paste” from right click context menu on grid or make sure grid has input focus and use “Ctrl/cmd + V”
13)  Reverse curve : choose “reverse” from right click context menu on grid or make sure grid has input focus and use “Ctrl/cmd + R”

View Options
1)      “Ctrl/cmd + scroll mousewheel” to zoom-in/out curve
2)      Just “scroll mousewheel” to scroll the curve
3)    click on grid & use “Ctrl / CMD + D” : to disable / enable curves belonging to other groups. [ i.e. if you disable, only curves belonging to property group same as currently selected property are colored, other curves are grayed out ]

Ease Panel
1)      Use “arrow keys(up, down, left, right)” to navigate through ease rows. Behavior is same as library panel & property list in motion editor.
2)      “ESC key” to dismiss ease panel. (It is not cancel operation, it just closes panel currently)
3)    “Double click” on ease row to select ease type as well as dismiss the ease popup.

Flash And AIR 14 Released

That was fast! Just weeks after the betas of Flash Player 14 and AIR 14 Runtime (and SDK), the team has announced that these new runtimes have been released.

In addition to bug fixes and security updates, new features include

  • Anisotropic filtering
  • A new Stage3D Standard profile (which supports multiple render targets, floating point textures, and AGAL v2)
  • Intel x86 Android Support
  • iOS packaging improvements
  • AIR Gamepad

Here are more details on Flash Player 14 and AIR 14.


TIOBE Index for May 2014 May Headline

‪#‎Adobe‬ ‪#‎ActionScript‬ enters top 20!

“This month ActionScript entered the TIOBE index top 20. ActionScript is a JavaScript dialect that is mainly used to write Flash programs to show interactive animations and videos. ActionScript’s popularity already peaked in 2008 and 2009, but after Steve Jobs announced to ban Flash from Apple’s devices, it lost popularity rapidly. Flash (and thus ActionScript) is still struggling to get into the mobile market, but it is gaining market share. For (small) web-based games, Flash and ActionScript are still market leader with an installed based of 96%, though.

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.

‪#‎Actionscript3‬ ‪#‎FlashPlatform‬ ‪#‎AdobeAIR‬

Source – http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

1 Billion AIR Installations

The AIR team has announced that in April 2014 the number of AIR applications installed around the world (on different devices and desktops, so that does not include updates and installs) surpassed the billion mark (that’s billion with a B, as in 1,000,000,000 ). They also published some usage stats pertaining to OS (over half of the installs are on Android), use (games dominate at over 70%), and more.

Congratulations, Adobe AIR!

North Shore to be protected from development

Gov. Neil Abercrombie announced Thursday that an agreement has been reached between the State of Hawaii, City and County of Honolulu, The Trust for Public Land, and Turtle Bay Resort to establish a conservation easement on 665.8 acres of land at Turtle Bay Resort in Kahuku.

Portions of this land had previously been planned for development but will now be protected forever from future development.

Click here to see a map of the zones at the Turtle Bay Resort.

“As I said in my State of the State Address this year, ‘there are times for planning, and there are times for acting; now is the time to preserve open spaces at Turtle Bay,'” Gov. Abercrombie said.  “This historic agreement is the result of public and private interests joining together to benefit the people of Hawaii and our visitors.  This protects the heritage and rural character of the North Shore to ‘Keep the Country Country.'”

State Sen. Clayton Hee said, “The shoreline from Kahuku Point to Kawela Bay represents one of the most beautiful and pristine areas on all of Oahu.  As elected leaders, we have a profound and solemn duty and responsibility to preserve and protect this shoreline for future generations just as our ancestors did before us.”

“I have always been a supporter of the preservation of the North Shore and the state’s long-term effort to protect the natural beauty of the North Shore and Windward communities,” said Sen. David Ige.  “I am pleased that, with the support of Senator Clayton Hee, negotiations have continued to move forward to this point after the Senate initially took action on this issue in the form of SB 894 last session. This settlement agreement is an example of how collaboration between the State, City and County, and private sector can result in a successful outcome when all stakeholders involved work together.”

“Today’s agreement is an example of collaboration and compromise for the greater good and I am grateful to all of those who worked together to make this a reality,” said Rep. Richard Fale.  “I hope today isn’t the end of this community collaboration. There is still an opportunity for this agreement to yield benefits across the community if general obligation funds can be secured to maximize community benefit from the resources within that community and also offer a fiscally responsible and self-sustaining source of funding to improve infrastructure, especially in our schools.  This is particularly important to our district because our rural schools often struggle to get the financial support they need.”

The conservation easement will be placed upon the land and will permanently limit use of the land in order to protect the ecological, recreational and open space characteristics of Oahu’s North Shore. The Turtle Bay Resort will continue to own, use and hold title to the land, but it and future owners of the land will be bound by the restrictions.  The easement will protect, and in many cases, allow restoration of critical marine and land ecosystems and Hawaiian cultural resources.  It will foster and enable recreational and educational uses of the land.

The total value of this agreement is $48.5 million; $40 million will be provided by the state, $5 million will b e provided by the city, and $3.5 million will be provided by The Trust for Public Land. The amounts of money provided by the state and the city are subject to appropriation and release of the funds. Gov. Abercrombie has previously asked for and encourages the Legislature to appropriate $40 million in general obligation bonds.

The City Council has previously appropriated $5 million for this matter. The Trust for Public Land will be obtaining funds from various sources.  The final documents and details of the agreement are to be worked out between the parties.

“We are excited to be a part of the stewardship to protect these natural resources and to secure forever the public’s access to that entire shoreline from Kawela Bay to Kahuku Point,” said Honolulu Mayor Kirk Caldwell. “We want to thank the state for its leadership in this effort and to the people around the table who worked hard to make sacrifices and to find common ground. The work is not yet complete, but we can see the light at the end of the tunnel.”

Honolulu City Council Chair Ernie Martin said, “The City Council has constantly demonstrated its commitment to land conservation as evidenced by the Fiscal Year 2014 budget appropriation of $5 million to preserve Kawela Bay.  Protecting such a valuable natural resource on the North Shore today is an investment that will reap dividends for generations to come.”

This agreement benefits the public in many ways, such as preserving open space and providing public access to beaches in the area at no charge. It also allows public access to more than five miles of coastal hiking trails and opens up the area for traditional native Hawaiian cultural practices.  In addition, the agreement keeps recreational use available to the public and prevents the sprawl of urban development in the area.

“This historic conservation agreement is supported by The Trust for Public Land, The North Shore Community Land Trust and many community organizations, residents of the North Shore and people from all over our island, along with visitors who enjoy and treasure the area,” said The Trust for Public Land, Hawaiian Islands State Director Lea Hong.

Turtle Bay Resort Chief Executive Officer Drew Stotesbury said, “As a part of the North Shore community, Turtle Bay Resort is proud to contribute to the conservation of these unique lands.”

Loading and Saving XML

This is a demo I created to demonstrate how to load and save data to an XML file. In the demo below you can add and remove balls as well as change their color. When you are finished you can click on “save” which saves your work into an XML file.

<?xml version="1.0" encoding="UTF-8"?>

The XML file is then loaded using the following AS3 code. The data from the XML file is stored into an array “b” so that it can be easily accesssed and modified within the program.

var b : Array = new Array();
var loader : URLLoader = new URLLoader(); // used to load xml file
var xml : XML; // used to store XML data

loader.addEventListener(Event.COMPLETE, loadXML);
loader.load(new URLRequest("balls.xml"));

// gets executed when xml data has been loaded
function loadXML(e : Event) : void {

	var i : int;
	var n : int;
	xml = new XML(e.target.data);
	xml.ignoreWhitespace = true;
	n = xml.ball.length(); // # of balls in XML file
	// load xml data into ball array
	for (i = 0; i < n; i++) {
		b[i].x = xml.ball[i].x;
		b[i].y = xml.ball[i].y;
		b[i].c = xml.ball[i].c;
		b[i].m = xml.ball[i].m;

To save the file, I just created a big string containing the XML code and sent it to a PHP routine via the “POST” method:

// saves the xml
function saveXML(e : Event) : void {

	var s : String; // string containing XML
	var h : String; // string to create a hexadecimal value for colours
	var i : int;
	// create xml as a string
	s = '<balllist>n';
	for (i = 0; i < b.length; i++) {
			s = s + "t<ball>n";
			s = s + "tt<id>" + i + "</id>n";
			s = s + "tt<x>" + b[i].x + "</x>n";
			s = s + "tt<y>" + b[i].y + "</y>n";
			h = b[i].c.toString(16);
			while (h.length < 6) {
				h = "0" + h;
			s = s + "tt<c>0x" + h + "</c>n";
			s = s + "tt<m>" + b[i].m + "</m>n";
			s = s + "t</ball>n";	
		s = s + "</balllist>";
		// pass string to php routine which saves the data, using POST method
		var req : URLRequest = new URLRequest();
		var loader : URLLoader = new URLLoader();
		req.data = s;
		req.contentType = "text/xml";
		req.method = URLRequestMethod.POST;
		req.url = "SaveXML.php";

Finally I created a really simply PHP routine and saved it in a file called “SaveXML.php”. It simply dumps all of the text which was passed to it from Flash into the “balls.xml” file. Here is the code:


// simple routine to save xml file
// passed a large string from flash using post method

if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) {
	$file = fopen("balls.xml","wb");
	fwrite($file, $xml);


Open letter to @Adobe & Adobe AIR

This letter was written by Gary Paluk:

Re: http://blogs.adobe.com/digitalmarketing/web-experience/adobe-experience-manager-mobile-app-announcement/

The following message was originally posted on facebook:

Hi Loni, firstly, thank you for your response to questions. I was a developer of the Away3D TypeScript HTML5 project which was funded by Adobe. I wrote my own Flash/Air 3D engine called Zest3D which had no funding from Adobe, so I’m in quite a good position to comment given my experience with the technologies being discussed.

The comments here illustrate just how concerned developers are, developers that have invested in Adobe technology over the years. I have invested 13 years of my own development career in Adobe products and evangelized the technology over that time. Your users can see that there is a perfectly good technology that does more than the new HTML5 offerings and they are evidently frustrated that you are not supporting developers that do not see why they aught to retrain to use an inferior technology.

Whilst I understand business choices are being made to support HTML5, Adobe should understand developers will leave rather than use inferior technology. I, for one, would resent moving to your HTML5 technology and every highly skilled developer that I have spoken to has said the same. You can see that in the comments already received.

Many of those developers feel that Adobes evangelist attitude to HTML5 is misplaced and a PR/market bending directive that is damaging their livelihoods and the skill-sets that they have accumulated and as most people would understand, developers and artists want to use the best products and workflows to get a job complete. In this case, the best product is Adobe Air and certainly not PhoneGap. So why do we keep seeing Adobe pushing the technologies that the developers do not want?

I would like to take the opportunity to ask Adobe to speak out and offer their support to existing developers with serious PR and coverage and continued accelerated roadmap for the Adobe Flash and Air product before all of your best developers leave and take their years of development and programming skills with them. Adobe has seen this already as developers have sought to find other native solutions, Unitiy has become the entry level tool of choice and companies like myself and Minko are essentially planning or working on building superior tools that may soon make Air obsolete whilst supporting native and HTML5 development without the need for an Adobe toolchain. This is the effect of alienating your development community and losing sales of your supporting tools.

Personally, I do not want to see Adobe Air or Adobe Flash disappear as they both have a formidable user base, excellent workflow, perfect cross-platform capability. With a small amount of investment, I feel that Flash and Air could be a much superior technology and with this approach Adobe might regain the trust of their developer community whilst continuing to enrich the lives of those developers who have continued to champion Adobes history of excellent web technologies.

Gary Paluk

Building for iOS7

Apache Flex allows you to build apps that work across many different platforms including mobile platforms such as Android and iOS. Recently, Apple announced that Starting February 1, 2014 any new apps and app updates submitted to the App Store must be built with Xcode 5 and iOS 7. The Adobe AIR team fixed the AIR 4.0 SDK to be compatible with Apple’s new guidelines.

The Apache Flex SDK now allows users to download this new AIR SDK so that they can continue to build and deploy apps for iOS7.

When installing the new Flex SDK, be sure to select the AIR SDK to at least version 4.0 (you can also use the AIR 13.0 beta version as well), as well as Flash Player 13 from the dropdown list

Screen Shot 2014-02-26 at 4.29.12 PM

Adobe Flash Player 13 Beta Now Available for Download

Adobe has just rolled out a new beta version of Flash Player that allows users to try out the feature lineup that’ll be soon integrated into the application a lot earlier.

Adobe Flash Player 13.0 beta comes with supplementary characters enhancement support for TextField, as well as with full screen video message tweaks to customize the notification appearing on your monitors when watching a clip in full screen.

Of course, don’t forget that this release is still a beta build, so a number of bugs might still be experienced. Still, it’s a good chance for users to try out the next version of the app,  so download Adobe Flash Player Beta right now to see what it brings new.

New and Updated Features

  • Enhanced Supplementary Character Support for TextField

Characters from the Basic Multilingual Plane (BMP) with Unicode code points between U+10000 and U+10FFFF nowl work correctly in T

extField controls. This change greatly enlarges the code point range we support, and now includes characters like emoticons and

complex CCJK characters.

  • Relocated Full Screen Video Warning to Top of Screen

We have made a small tweak to the “Press Esc to exit full screen mode” warning that is displayed for full screen video. We’ve received a

lot of feedback from developers because the dialog obscures content, and we wanted to make a change that both satisfies security

concerns and customer viewing enjoyment. To reduce the impact of the dialog on the on-screen content, we’ve moved the dialog to the

top of the screen.

  • New Stage3D Texture Wrapping Modes

Developers can currently set the wrapping mode of a texture to either clamp or repeat. Using the repeat option will repeat the texture on

both the U and V axis. However, in some use cases, you may only want to repeat the texture on either the u or v axis.

This is now possible with the introduction of two new parameters:


  • Stage3D Anti-Aliasing for Texture Rendering

Anti-Aliasing is a useful for improving perceived image quality. Hardware based Multisampling Anti-Aliasing (MSAA) is now available on

all desktop platforms. To enable MSAA, set the level from 0 to 4 using the new Context3D.setRenderToTexture() method.0 = 1 subsamp

le, no antialiasing

• 1 = 2 subsamples , minimal antialiasing

• 2 = 4 subsamples , medium high-quality antialiasing

• 3 = 8 subsamples , high-quality antialiasing

• 4 = 16 subsamples , very high-quality antialiasing