Delete enhanced fill problem

Thats it! I am tired of getting the “Enhanced fill not supported in current player version” problem when I import fills from AI/FH/FW and you need to export to V7 or under, so once and for all I am putting a stop to it.

Here are 3 simple steps to get rid of this problem (of course this will be applied after you have imported a vector image with gradients to your stage).

1. Change your export settings to V8.
2. Pull the “Color Mixer” Palette.
3. Under Overflow select “Extend”, take off the check mark from Linear RGB

That is it now you can change your export settings back to V7 or V6 or under and you should be fine. That is all you have to do and all your problems should go away, no more warnings no more asking you to fix your gradients.

Ah! but sometimes the gradient or Flash will be stubborn and still make fuss about the Fills. Well these are some things you can do..

If under the “Color Mixer” Palette your Overflow was selected as “Extend” and the Linear RGB was unselected, well just select Overflow again and check and uncheck the Linear RGB option. That will fix the stubbornness 99.9999999% of the time.

If you still have troubles after you have completed the steps above feel free to ask.

Trace selected text with TextMate

That is right, thanks to the guys from TextMate and their help I was able to get a small Macro that will trace the selected word in Flash.

What I mean is this:

1. Select a word
2. Run the Macro
3. the word you selected will appear in the next line as follows:

trace(“the Word You Selected = ” + the Word You Selected);

Neat uh?

Bind that to a short cut (in my case CMD-E) and anytime you need to trace a variable or an object you are set to go.

Interested in the macro?

Continue reading Trace selected text with TextMate

Complex Array combo

I haven’t tested this kind of array usage against the processor so I am not sure how intensive it is but it definitely helps in case you want to keep your arrays very descriptive and you don’t want to do a search on the array every-time you need a certain node.

So the regular way of using arrays is:

var myArray:Array = new Array();
myArray.push (“this”, “this one”, “this two”);
myArray.push (“that”, “that one”, “that two”);

so lets say you do a simple trace

trace( myArray);

you get a nice long list with all the items you have pushed into the array (“this,this one,this two,that,that one,that two”). So you want to organize the arrays in a way that you want to access “this one”, well you can certainly do

trace(myArray[1]);

now lets try to get “that one”…

trace (myArray[4]);

That is because we know that the position of “that one” is the 4th position in the array. But all of the sudden you are running down your scripts trying to figure out the best way to access the information in your array without having to memorize the position of each of them. So then what do you do? You can create an array for each one of the items you need. like this:

var thisA:Array = new Array();
thisA = [“this one”, “this two”];

var thatA:Array = new Array();
thatB = [“that one”, “that two”];

Now lets say we need “this one” we can access that value by doing the following:

trace(thisA[0])

That is an easier way to know what we want and now we can refer to each array by their name. But lets pause for a second and think that maybe… MAYBE 3000 lines down your code you find yourself stranded trying to figure out if thisA[0] was “that one” or if it was thisA[1]… so what if we could name each one of those arrays with a specific name that we could remember later….

Hummmm… now we are talking.

lets do the following

var thisA:Array = new Array();
thisA = [{positionone: “this one”, positiontwo: “this two”}];

eh?… lets taste it…

trace(thisA[0][“positionone”]);

and it works! So do I mean that if I want to access position two all i have to do is remember the name of the array “thisA” and the name of the value I am trying to access? of course… lets try the secnd one

trace(thisA[0][“positiontwo”]);

Sweet! there you have it, go wild! go crazy in the mean time I will find out how much processor we are eating with this approach.

Continue reading Complex Array combo

Password protected flash site Class

After seeing so many people requesting help with the easy Username and Password method for Flash I decided to write a small class.

Granted UserName and Password verification shouldn’t be taken slightly, but many times you just want to make a section of your site “Pass Protected with flash”, and in reality this is a very simple verification that should be used against the average joe, not the average geek-joe who knows about flash-deconstruction and such.

So have your Password-Protected flash site in 3 steps;

1. Download the class from here:

2. unzip the files in the directory where you are building your flash movie, so the file structure should look like this:

-root directory
–com
—helmutgranda
—-PasswordProtect.as
3. on the root timeline of your flash movie write the following:

[as] import com.helmutgranda.PasswordProtect;
//(timeline, depth, x position, y position, username, password, gotoAndPlay what? # or label)
PasswordProtect.main(this, 10, 25, 25, “helmut”, “granda”, 5);

[/as]

Please do not write telling me geek-joe was able to break into my site! because this is not a bullet proof password verification, this is just a quick way of keeping the average joe from looking into any “secure” section of your site. I might write a more robust version with some PHP/mySQL/flash combo but for now this will do.

Dealing with TextMate

So I have been doing a lot of ActionScript lately and I should say that is nice to have to use the Flash IDE only 10% of the time, and I am looking for ways to reduce that from 5% to 0% of the time, it is tricky since at work I have to use a MAC and at home I have to use a PC, but I believe I have found the best of both worlds.

In one hand we have TextMate for the MAC

TextMate with Tabs

I must say that it is a great editor and not only that but it allows you to tie in MTASC to compile your movies, add a little bit more of majic and you have an almost 100% Development tool where you only need to use the Flash IDE as a Guide or to build your library.

Another nice thing about this editor is that there are a lot of plugins out there as well as Bundles for you to do all the work straight into Textmate. Of course this is not recommended for everyone and not for every single case but it is nice to know that there is the ability to do it this way.

Another thing you want to check out is SWFMill, now if you tie TextMate, MTASC, SWFMill and a good tracer you are all set.. or should I say I am all set? 😉 because I am working on it.

My first take at ROR

I took for a spin ROR (Ruby on Rails) tonight since I had some free time, I started installing it along with a XAMPP installation that I already have running. At first they didn’t want to talk to each other but in the end they both end up working just fine. I would like to write yet just another tutorial about how to have XAMPP and ROR working together but if everything runs smooth I might ditch XAMPP and have ROR by itself.

So I started to play around with installing the framework around 10:00 PM and by 1:30 AM (which is right now) I was able to write my first small application with ROR following Ruby Forge tutorial, to be honest if you are working on a PC with XP I hit some small walls but it wasn’t too difficult to figure it out. But it would be really nice if the tutorial could be adjusted for XP users specially while using the command line and the installer’s interface. Also there is a very small variation from using the SQL editor compared to HeidiSQL but now that I have used HeidiSQL I will continue using it, it seemed to be a little faster than having to use phpMyAdmin, but that is another subject.

So after playing around with ROR for about 1 hour and a half I could see how easy it is to create applications, of course tutorials take you only so far and now it is only left to your imagination to see what you can do with the framework but I am really impressed of how easy it is to create files, connect to databases, update databases and adjust your templates to your liking.

The only downside to this is that you either drop the cash to test in a “live” environment (live server) or you can just live with the fate that people will believe you can work with ROR without actually having a site to show them what you can do.  But in the end if you try it out and you love it and you think that this could be something you can use in the future for your development it is worth to use that extra money as an investment.

RubyOnRails Controllers

when creating a new controller the file name of the controller has to be the same as the controller itself and it can be either xxxxx_controller or just xxxxxx

For example

mytest_controller.rb – ok

mytest.rb – ok

mytest_co.rb – not ok

also make sure you add ::BASE after the class name definition or you will get a horrifying error… well not horrifying but at least not the result you are expecting.

As always, this applies to WINXP – LAMP – ROR installation