Search Blog Posts

‘Flash / Actionscript’

Shuffling an Array in Actionscript

Wednesday, May 28th, 2008

Using arrays in flash is always a handy and efficient way to work with variables etc. But some times its handy to be able to shuffle the results in the array, for example when creating a quiz to allow a random set of questions.

Using the code below (actionscript 2.0 but should still work in 3.0) we create an array and trace the results.

The Code

Array.prototype.shuffle=function(){
for(i=0;i<this.length;i++){
var tempvar=this[i];
var ranVar=random(this.length);
this[i]=this[ranVar];
this[ranVar]=tempvar;
}
}
myArray=["flash","dreamweaver","illustrator","in-design","photoshop"];
myArray.shuffle();
trace(myArray);

This would return a trace with answers such as:
‘dreamweaver, flash, in-design, photoshop, illustrator’

For loops in Flash - Setting global variables

Tuesday, May 27th, 2008

A common ‘mistake’ when working with any programming language is over use of code, or rather not being efficient with code. The most common mistake, and most easily rectified is repetition of similar or exact snippet of code, over and over and over and over and over and over again…. just like the example actionscript code shown below.

Example of Inefficient use of code

_global.variable1 = 0;
_global.variable2 = 0;
_global.variable3 = 0;
_global.variable4 = 0;
_global.variable5 = 0;
_global.variable6 = 0;
_global.variable7 = 0;
_global.variable8 = 0;
_global.variable9 = 0;
_global.variable10 = 0;
_global.variable11 = 0;
_global.variable12 = 0;
_global.variable13 = 0;

In the above example we are simply setting a whole load of global variables in flash. You can imagine that if the number of variables increased, say for example 40 variables, you would need 40 lines of code to achieve the desired result.

To simplify this process i have created a simple snippet of code could be contained within a for loop, creating and setting all of these variables in only 3 lines of code. By using a for loop we can add or decrease the amount of variables increased by changing just one variable.

Efficient use of code

/// set how many variables should be created
number_of_times = 13;

/// loop 13 times creating 13 variables with the value of 0
for (var i = 1; i<(number_of_times+1); i++) {
_global["slide"+i] = 0;
}

The Benefits

This makes it much easier to increase or decrease the amount of variables created, simply change “number_of_times = 13″ to a greater number.
If for example we wanted to rename the varaibale from “variable” to “myVariable” we would ammend one line of code… not 13 as shown in the initial example.

This method can be applied in a variet of different ways helping you become more productive and efficent with your code.

I hope this simple little explanation helps someone out.

Changing the right click menu in flash

Monday, February 11th, 2008

Right Click Menu in FlashChanging the right click menu in flash files is relitivley simple. Using the code below and placing it on the root of your document you can add a new right click menu to your published files. This disables the existing zoom in, zoom out ect and enables you to attach functions to the buttons, whether it be launching a new web page or changing the colour of the movie clip document.

So heres what to do:

Paste the following code onto the root of your flash document, directly onto a blank frame, publish your movie, Job done!

And heres the code:

//define any functions to included on a menu item
function launchsite1(){
getURL("http://www.minimalistics.co.uk", _blank);
}

function launchsite2(){
getURL("http://www.minimalistics.co.uk/contact.php", _blank);
}

////Declare a new menu item
newmenu = new ContextMenu();//Hide the built in flash menu
newmenu.hideBuiltInItems();//define your new menu items
item1 = new ContextMenuItem("My Home Page", launchsite1);
item2 = new ContextMenuItem("Another Web Page", launchsite2);
newmenu.customItems.push(item1);
newmenu.customItems.push(item2);//Build New Menu
_root.menu = newmenu;

You can change add or remove any of the items above to suit your requirements.

Verticle / Horizontal Scrolling in Flash

Wednesday, October 24th, 2007

The following examples below show how to make a movie clip in flash dragable either horizontally or vertically with set positions stopping the movie clip being dragged to far.
In these examples we will use 50 as the lowest position the object can be moved and 200 as the highest value that the object can be moved.

Verticle Scrolling (up and down):
on (press) {
startDrag(this, 0, this._x, 50, this._x, 200);
}

The opposite effect can be applied when you switch the variables and number around to this._y

Horizontal Scrolling (left and right):
on (press) {
startDrag(this, 0, this._x, 50, this._x, 200);
}

© Copyright 2003-2008 Minimalistic Designs | Terms | Links | Sitemap
Website Design Liskeard - www.minimalistics.co.uk