I have an array of skin tone hex codes. At the moment, when I click a button, it randomly gets an element from the array. I'd like it to just get the next available element and if there are no more, loop back to the 1st element. Here's what I have at the moment.
var skinTones:Array = ["0xebae7f","0x754c24","0xf2ca8d","0xf4d1b7","0x8b6947"];
And the button code:
menuMC.buttFace.addEventListener(MouseEvent.CLICK, clickFace);
function clickFace(event:MouseEvent): void
{
function getSkinTone(source, amount) {
var i = Math.round(Math.random() * (source.length - 1)); //random seed (starting point)
var myTone = new Array(); //the new array
while(myTone.length < amount){
if (i >= source.length) i = 0; //if the current iterator if out of bounds, reset to 0
myTone.push(source[i]);
i++;
}
return myTone;
}
var toneHex = getSkinTone(skinTones,1);
trace(toneHex);
TweenLite.to(faceWrapperMC.faceMC, 0.5, {colorTransform:{tint:toneHex, tintAmount:1}});
TweenLite.to(faceWrapperMC.earsMC, 0.5, {colorTransform:{tint:toneHex, tintAmount:1}});
TweenLite.to(faceWrapperMC.eyesMC.eyes.eyelid, 0.5, {colorTransform:{tint:toneHex, tintAmount:1}});
}
Any help would be great. Also, if it can be simplified, please let me know. This is my 1st AS3 project.