FlashEff at Flashbelt and FITC

My colleagues who went to present our brand new component, FlashEff, to the world, came back two weeks ago from the Flashbelt and FITC conferences. Overall, it seems that many people got interested in it and everyone who heard about the project was very impressed with it. This is a good sign for us, especially since we’ve just launched the final version (so no more beta).

While we were working on the component, we had really useful input from people with high expertise in Fash and ActionScript, many of them highly regarded in the Flash community. So the difference between the FlashEff beta and the final version is very much based on their feedback. Thank you very much to all of you.

Of course, we cannot create a product that would please absolutely everybody in the Flash community, but we tried to do our best in creating a component that would be easy to use (especially for those new to Flash) and also, leave an open door to those experts who like to code more than use the visual workflow.

There is a free version that has 30 patterns, which you can use to create show/hide effects on text, apply filters on clips and create buttons from movie clips on the stage, fast and simple. You can download it from the component’s main page and test it out. If you’re happy with it and want more, you can even purchase a full version that includes all the current (100) and future patterns. Also, we’ve changed the initial pricing model and now you can purchase the component for 1, 6 and 12 months. Also, there’s an unlimited version of the component, which costs a little more than the rest. For more information, you can check out the component’s site: www.flasheff.com.

FlashEff Previews

We’re closing in on releasing the public beta of our new animation tool: FlashEff. As mentioned in my previous post, a few of us will be present at Flashbelt starting today (8 June) where we’ll be able to show you how this new product works. I can tell you this much: it’s going to change the way you create Flash animations. Not only it will help you create eye-catching animations but it will also speed up your development process.

If, by any chance, you’ve missed us at Flashbelt, we’ll also be present at FITC Chicago, starting June 22.

By the way, have you seen our intro animation for FlashEff ? No ? Check it out here – animate anything.

A new Flash animation tool

I know it is sometime since I wrote my last article, but in the past few weeks I really had my hands full. Besides working hard to offer the best customer support service I can for JumpeyeComponents, I helped my colleagues that are working on a new animation tool for Flash. This is the first tool of its kind… of this “magnitude”…

In the past few weeks the entire Flash department has worked hard on what will be on of our most complex Flash components: FlashEff. This animation tool will provide the combined functionality of the MovieClipTransitionEffect and TxEff components all together and much more. This is going to be the best animation component ever. Right now, we are in the beta stage with it and can’t wait to have it finished and released. For the first time, we are going to publish an API of the component so that other Flash/ActionScript programmers can create and publish their own patterns for this component.

If you would like to find out more about it and see it in action, a few of my colleagues (Gabi – our CEO, Raul – the CTO – head of the Flash department and Alin – our PR manager) will give demonstrations of the component at a few international conferences. Right now they are in Cologne, Germany, attending the FlashForum conference. We’ll also be present (maybe not personally) at a few other major conferences like FITC Chicago in June and Flashpitt 08 in October.

How to use Timer class instead of setInterval()

In ActionScript 3.0, the preferred way to execute actions at specific time intervals is the use of the new Timer class. In ActionScript 2.0, we had the setInterval() function and this was the way to use it:
- write a function that would be called every time the time interval passed the limit
- call the setInterval() function that would receive as parameters the object that has the target function defined (not always necessary), the name of the function (or a reference to it), the time interval at which to call the target function and the list of parameters for the target function (also not necessary)
- to stop the time interval there should have also been a variable defined to hold the interval id and then call clearInterval() with the interval’s id as parameter.

AS2 example – call a function 10 times

For example, the next piece of code will call timeHandler 10 times and then interrupt the repeated calls of the function:

var counter:Number = 0;
var intervalID:Number;

function timerHandler(param:String):Void {
counter++;
trace(“This function has been called “+counter+” times with the \”"+param+”\” parameter”);
if (counter == 10) clearInterval(intervalID);
}

intervalID = setInterval(timerHandler, 1000, “test”);

AS3 example

For AS3, the steps are similar but setInterval() was replaced by the Timer class. Here is the above code translated into AS3:

import flash.utils.Timer;
import flash.events.TimerEvent;

var counter:int = 0;
var timerObject:Timer = new Timer(1000, 10);
timerObject.addEventListener(TimerEvent.TIMER, timerHandler);
timerObject.start();

function timerHandler(eventObject:TimerEvent):void {
counter++;
trace(“This function has been called “+counter+” times”);
}

AS3 code explained

You can see that when creating a new instance of the Timer class, the constructor has two parameters passed to it: the first is the time interval (in milliseconds) and the second is the number of repetitions, that is the number of times to call the handler function. If the second parameter is not given or it’s 0, then the timer repeats infinitely. Next, you need to define the handler function for the TimerEvent.TIMER event, which gets dispatched every time the time interval is passed. The Timer class also dispatches another event, TimerEvent.TIMER_COMPLETE. This event is dispatched only when the timer object has finished the number of repetitions. If the repeatCount, the second parameter of the Timer constructor is not defined or it’s 0, then the TIMER_COMPLETE event will never get called. Once you create the Timer instance, you need to start it (timerObject.start()) otherwise it won’t have any effect.

As you can see, for the AS3 version, you cannot pass any parameters directly to the timer event handler functions. If you want to get the same result as the AS2 example, then you need to create another function that would be called by the timer event handler and get the parameter passed to this second function:

function timerHandler(eventObject:TimerEvent):void {
callback(“test”);
}

function callback(param:String):void {
counter++;
trace(“This function has been called “+counter+” times with the \”"+param+”\” parameter”);
}

The Timer class

The Timer object is more complex and offers us more information on the current interval calls. We can have access to the number of repetitions the Timer object has reached (timerObject.currentCount), the total number of repetitions (timerObject.repeatCount), the time interval (timerObject.delay) and we can even find out if the Timer object is running or not (timerObject.running).

By using the Timer class, you also have the ability to stop the repetitions (timerObject.stop()) and then resume it, if you call the start() method again. It even has the possibility to reset the counter (timerOject.reset()) and the Timer object will start the repetitions all over again.

Get the number of repetitions from the Timer object

As mentioned previously, you can access different parameters of the Timer object and you can do it even in the timer event handler function. The next example displays the number of times the function has been called, without having to define an extra variable for that:

import flash.utils.Timer;
import flash.events.TimerEvent;

var timerObject:Timer = new Timer(1000, 10);
timerObject.addEventListener(TimerEvent.TIMER, timerHandler);
timerObject.start();

function timerHandler(eventObject:TimerEvent):void {
trace(eventObject.target.currentCount+” repetitions out of “+eventObject.target.repeatCount);
}

As you can see, the Timer class is a welcome addition to the ActionScript 3 framework. Enjoy it.

Photoshop online

Last week, Adobe has launched an online version of Photoshop called Photoshop Express. Of course, it’s an image editing tool, based heavily on Flash/Flex technologies and it’s still in the beta version. They have a Test Drive module that lets you try out some of it’s features, but you’ll be able to have full access once you sign in to your account.

Personally, I really like the interface they’ve designed. It’s really clean and elegant. All the elements of the screen are placed in such a way that you can concentrate on your image editing. A really nice feature is the ability to upload and store your images (up to 2 GB) and organize them into galleries. You can also import images from other sites like Facebook, Photobucket or Picasa. It’s also great that Adobe left all the features free and didn’t put a price on some of them.

Overall, it’s similar to Picnik, another Flash enabled online photo editor which which lacks the ability of creating your own albums but it has more effects to apply on images. Also it can access images from Flickr albums and you can save the edited image back to one of your albums on MySpace, Picasa, Flickr, Facebook, Photobucket or your computer. In Picnik’s case, you need to buy a premium service to be able to have access to all the functionalities.

Right now, there’s a huge difference between the number of features of the online tool (Photoshop Express) and the ones of the offline software package (Adobe Photoshop CS3). But this online version wasn’t intended for the professional photo editors or designers. I believe it’s quite ok for occasional photo editing done by beginners who only what to tweak a little their photos before publishing them online.

Time will tell which one of the two online editors will get more attention from the public. Photoshop Express has behind it an experienced team in creating photo editing tools and all the features are for free. Further more, it offers 2 GB of space to the users to save and share their photos. Picnik on the other hand is more feature rich, but it comes with price. Try them out and decide for yourself which one is best for you.

Promotion for text effect with reflection

Jumpeye has just launched a short promotion for a limited edition of TxEff: TxEff with reflection. All you have to do is to create your own text animation on www.txeff.com, save it and then embed it into your own site using the HTML code provided on txeff.com. Just like I did…

Hurry up ! It’s only available for a few days…

Flash Text Effects – How Easy It Is ?

There are a few ways to create text effects using Flash, like alpha or blur animations, color changing, text scaling or moving text and these are relatively easy to do. But what happens if you’ve seen some fancy text effect on a site or even in a video clip, perhaps in a movie, and you want that exact effect in your Flash banner, presentation or site ? It is highly unlikely that the effect was made with Flash. Chances are it was made with some professional tool for video editing.

If you want to have that same effect replicated in Flash, that means you’re going to work for the next few nights and write a lot of code to get there. Yes… if you’re a Flash and ActionScript pro… But what if you’re a rookie… Maybe you’ve never written code before. What then ?

Then, you should use this great tool developed by us at Jumpeye Creative Media. It’s called TxEff. This is a Flash CS3 component (only works with ActionScript 3.0) which you can use to create amazing text effects in Flash, literally in a few minutes, with just a few mouse clicks and a few parameter settings. That’s how easy has become creating Flash text effects. The animation below took me 15 minutes to complete (including testing more parameters to get the effect I wanted and consulting the help pages to get more info on some parameters).

Another great thing about it is that there is a free version of the component, that comes with three patterns embedded into it. You can use these patterns to create a large number of effects, number limited only by your imagination. You can download the component from JumpeyeComponents’ site but you’ll need an account for that (if you don’t have one, go ahead an create it). On the same site, you have access to several tutorials to get you started, the component’s help pages and documentation on all the patterns and their presets. These patterns are actually extensions of the component, so you’ll need both the component and the pattern into the Library, to create an effect. JumpeyeComponents also has a Knowledge Base, containing solutions to a few common questions regarding TxEff.

Besides all these, the component’s site (www.txeff.com) is actually a large effects database, created by all the people visiting the site. If you like an effect there, you can easily import it into your project (just remember to have that pattern into your Library).

Let me give you a piece of advice: before starting to work with TxEff, try to go through the documentation. The component is quite complex, even though it is easy to use, and has a few limitations and requirements. Also try to check out some of the tutorials to get a better idea of what TxEff can do. If you’re having problems with integrating the component, you should read the documentation first or check out the knowledge base… Chances are that you’ll find the answer to your problem there. If not… JumpeyeComponents support team will happily help you out.

Download source files

5005: Unknown error optimizing byte code

This is a really “interesting” error message that Flash throws in the Output panel and unfortunately there is no other explanation accompanying the message. At Jumpeye we’ve had to deal a few times with this error message which seems to be generated whenever working with large .fla files that make use of rather large amounts of code.

The solution would be to turn off the Optimizer and then recompile. You can turn the Optimizer off from the Publish Settings dialog box, select Settings for the “ActionScript 3.0″ option and in that dialog box disable the “Reduce file size and increase performance” option. You can do this whenever you are working on a very large project and get this error message. In the rest of the cases, you should leave this option checked.

Another solution I’ve found on the web (didn’t test it) is to delete the .aso files generated by Flash (Control -> Delete ASO Files) .