logo for mobile version

Review: SWF Studio 3.0 Beta

Review: SWF Studio 3.0 Beta

Not to long ago, I did a review on SWF Studio 2.0 for taking your Flash content and turning it into a full-blown desktop application or screen saver. Well now Northcode has done it again with SWF Studio 3.0. With some features changed and others removed completely, will this new version be worth the upgrade?

It is important to note that at the time of this writing, SWF Studio 3.0 is currently in beta.


Ease of use
The process of building a projector or screen saver with SWF Studio is as simple as building your Flash file (SWF), dropping it in SWF Studio, selecting your options (or keeping the defaults) and clicking Build. Some nice built in features include:


  • Expiry
  • Icon inclusion
  • Versioning
  • Extendable Plugin Structure


In the previous version of SWF Studio, all interactions that are outside the normal scope of Flash and ActionScript (ie File I/O, FTP, HTTP) were handled by SWF Studio and their plugins through fscommand(). This was a difficult way to get things done because the commands would send information back to a variable and you had to write code to watch that variable to see when data was returned. In this version, there is no more need for fscommands. But before you get to happy, the new way of doing commands will require some rethinking and planning.

Here is an example of code that will show a pop-up asking a yes or no question, and display the answer in a text field. The first one shows it as it would be in version 2.0, the second shows the new 3.0 way of doing it.

Example 1

var answer = "";
var tab = "t";
var args = "answer" + tab + "QUESTION" + tab + "YESNO" + tab + "Will Episode III be worth it?" + tab + "Episode III Question";
fscommand("MsgBox", args);
var ref = createEmptyMovieClip("runner_mc",2);
ref.onEnterFrame = function(){
if(answer.length > 0){
answer_txt.text = answer;
this.removeMovieClip();
}
}


Example 2

ssCore.App.showMsgBox({prompt: 'Will Episode III be worth it?', icon:'QUESTION', buttons:'YESNO'}, {callback:'onAnswer'});

function onAnswer(return_obj,callback_obj,error_obj){
answer_txt.text = return_obj.result;
}


You can definitely see the improvement in code, but even in the second example, the code is not the easiest to write with passing two anonymous objects through the method, and another function receiving the results. This code is not exactly synchronous, but it is not using looping statements to monitor a variable either.

Not to worry about having to memorize all the different methods and objects for SWF Studio, when you install the program, it will install help files and code hints into Flash to make your life a little easier.

image

Debugging

This version of SWF Studio did step up the debugging features adding a trace tab to the interface itself. This is used for receiving special trace commands from any projector file created with SWF Studio, and you can color code what you are sending to the app right within your ActionScript. In addition, these trace commands will not affect the final product by being able to be seen by end users. They will also not affect the final app in performance and size.

image

Platform Support

For right now, the projector files and screen savers created from SWF Studio are PC only. But, according to their home page, Northcode is working on something for cross-platform support. So keep an eye out for that, or sign up for more info.

Extensibility (JScript, Plugins)

The abilities of SWF Studio do not stop with the installation, but can be extended farther with an open Plugin system as well as the ability to incorporate Microsoft's Jscript.

image

File Read Example

Like the other articles, this is the example code of using SWF Studio to read in a selected text file. SWF Studio can read in both normal and Unicode text files.

import mx.controls.TextArea;
import mx.controls.Button;
// Setup text field for displaying the text
var tArea:TextArea = _root.createClassObject(mx.controls.TextArea, &my_tf&, 999, {html:true, border:true, _y:40});
tArea.setSize(300, 160);
// Make a Browse-button
var tButt:Button = _root.createClassObject(mx.controls.Button, "my_tb", 998, {label:"Browse", _x:10, _y:10});
//set the click function for the button
tButt.clickHandler = browseForFile;

// Functions used
function onOpen(return_obj,callback_obj,error_obj):Void {
if(return_obj.result){
ssCore.FileSys.readFile({path: return_obj.result},{callback: "onFileRead"});
}
}

function onFileRead(return_obj,callback_obj,error_obj){
tArea.text = return_obj.result;
}

function browseForFile():Void {
ssCore.App.showFileOpen({caption:"Open a text file", filter: "Text Files|*.txt||", multipleSelect: "FALSE"},{callback: "onOpen"});
}



Final Output

The final output file will be a standalone projector application or screen saver that will run on windows. The file size for the application projector has increased since the previous version to 2.8 meg. Even though file size is usually irrelevant in a desktop application, it is still worth mentioning.

One feature that I was sad to see removed was the installer feature. In SWF Studio 2.0, you could actually create an install file, which when run would install the application onto a users computer. Even though there are plenty of free and reliable applications that you can use to do this, it was nice having that option right in the interface.

Summary

Overall, the upgrade for SWF Studio was a good upgrade. With plugins ranging from FileSys to Joystick, it does not lack in features. And with a great trial mode of never ending and fully featured (the projectors created will only last a short period), there is no reason not to try it. Expect to see it available soon.

If you end up buying SWF Studio, use this link to receive a 10% rebate and give a small kickback to Flashmagazine.
Visit Northcode

 

 

del.icio.us Favicon Digg Favicon DZone Favicon Reddit Favicon StumbleUpon Favicon Technorati Favicon

 

 

Projector Tools Showdown- Flashmagazine verdict >> << Introduction
Creative Commons License
Some rights reserved.Click for details.
Design by Digiguru Home | Top of page