I am trying to animate a navigation menu so that when you roll over an item (say “Contact Us”), it moves up a bit, and the rest of the items blur.
I allllmost have it working but there is one piece of code that is no longer working (blurTween.onMotionChanged) since I put it into a for each loop in order to go through the array and apply the blur filter to each item.
So my code is as follows:
import caurina.transitions.Tweener;
import flash.filters.BlurFilter;
import mx.transitions.Tween;
import mx.transitions.easing.*;
// INIT
menuYPos = technicalLiterature_btn._y;
rollOverYPos = -3;
// ####### EVENTS #######
technicalLiterature_btn.onRollOver = function() {
navRollOver(technicalLiterature_btn);
}
technicalLiterature_btn.onRollOut = function() {
navRollOut(technicalLiterature_btn);
}
websites_btn.onRollOver = function() {
navRollOver(websites_btn);
}
websites_btn.onRollOut = function() {
navRollOut(websites_btn);
}
advertising_btn.onRollOver = function() {
navRollOver(advertising_btn);
}
advertising_btn.onRollOut = function() {
navRollOut(advertising_btn);
}
pr_btn.onRollOver = function() {
navRollOver(pr_btn);
}
pr_btn.onRollOut = function() {
navRollOut(pr_btn);
}
branding_btn.onRollOver = function() {
navRollOver(branding_btn);
}
branding_btn.onRollOut = function() {
navRollOut(branding_btn);
}
exhibition_btn.onRollOver = function() {
navRollOver(exhibition_btn);
}
exhibition_btn.onRollOut = function() {
navRollOut(exhibition_btn);
}
cpd_btn.onRollOver = function() {
navRollOver(cpd_btn);
}
cpd_btn.onRollOut = function() {
navRollOut(cpd_btn);
}
contact_btn.onRollOver = function() {
navRollOver(contact_btn);
}
contact_btn.onRollOut = function() {
navRollOut(contact_btn);
}
// ####### FUNCTIONS ########
function navRollOver(movieClip) {
Tweener.addTween(movieClip, {_alpha:100, time:.5, _y:rollOverYPos, transition:"easeOut"});
function deleteItem(target:String) {
for (i=0; i<menuArr.length; i++) {
if (menuArr* == target) {
menuArr.splice(i, 1);
//trace(menuArr);
}
}
}
var menuArr:Array = new Array(technicalLiterature_btn, websites_btn, advertising_btn, pr_btn, branding_btn, exhibition_btn, cpd_btn, contact_btn);
deleteItem(movieClip);
len = menuArr.length;
for(var i=0; i<len; i++){
//trace(i);
//trace(menuArr*);
var blurTween:Tween = new Tween(menuArr*, "blur", Strong.easeOut, 0, 10, 1, true);
//trace(menuArr*);
blurTween.onMotionChanged = function() {
menuArr*.filters = [new BlurFilter(menuArr*.blur, menuArr*.blur, 1)];
};
}
}
function navRollOut(movieClip) {
var menuArr:Array = new Array(technicalLiterature_btn, websites_btn, advertising_btn, pr_btn, branding_btn, exhibition_btn, cpd_btn, contact_btn);
Tweener.addTween(movieClip, {_alpha:100, time:.5, _y:menuYPos, transition:"easeOut"});
len = menuArr.length;
for(var i=0; i<len; i++){
var blurTween:Tween = new Tween(menuArr*, "blur", Strong.easeOut, 10, 0, 1, true);
blurTween.onMotionChanged = function() {
menuArr*.filters = [new BlurFilter(menuArr*.blur, menuArr*.blur, 1)];
};
}
}
Any ideas?