# Flash 8 Blur tweening (movieclip) items in an array

**URL:** <https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716>\
**Category:** flash\
**Created:** [June 29, 2008, 11:31am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716 "2008-06-29T11:31:09Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Grayhammy](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@Grayhammy](https://forum.kirupa.com/u/Grayhammy)\
**Post date:** [June 29, 2008, 11:31am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/1 "2008-06-29T11:31:09Z")

</div>

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:

```auto
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?

---

<div class="post-metadata">

**Author:** ![jayrich86](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@jayrich86](https://forum.kirupa.com/u/jayrich86)\
**Post date:** [June 29, 2008, 6:06pm UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/2 "2008-06-29T18:06:28Z")

</div>

you mean like this

[http://mav-media.com/Maverick](http://mav-media.com/Maverick)

---

<div class="post-metadata">

**Author:** ![Grayhammy](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@Grayhammy](https://forum.kirupa.com/u/Grayhammy)\
**Post date:** [June 30, 2008, 9:46am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/3 "2008-06-30T09:46:19Z")

</div>

Precisely!

---

<div class="post-metadata">

**Author:** ![randomagain](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@randomagain](https://forum.kirupa.com/u/randomagain)\
**Post date:** [June 30, 2008, 11:22am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/4 "2008-06-30T11:22:05Z")

</div>

it may help to stick the array item in a variable then stick that in the code above

---

<div class="post-metadata">

**Author:** ![Grayhammy](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@Grayhammy](https://forum.kirupa.com/u/Grayhammy)\
**Post date:** [June 30, 2008, 11:35am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/5 "2008-06-30T11:35:54Z")

</div>

I don’t think that’s the problem. The problem is that blurTween.onMotionChanged is returning undefined since I put it into the for each loop

---

<div class="post-metadata">

**Author:** ![Grayhammy](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@Grayhammy](https://forum.kirupa.com/u/Grayhammy)\
**Post date:** [June 30, 2008, 11:38am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/6 "2008-06-30T11:38:22Z")

</div>

I mean this:

```auto
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)];
		};
	}

```

---

<div class="post-metadata">

**Author:** ![randomagain](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@randomagain](https://forum.kirupa.com/u/randomagain)\
**Post date:** [June 30, 2008, 11:41am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/7 "2008-06-30T11:41:16Z")

</div>

var blurTween:Tween =

**var [“blurTween”+i]:Tween =**

or you are calling the same tween and canceling yourself out?

you also may want to \_root in the buttons as it may be looking for an array inside the buttons rather than the main timeline

---

<div class="post-metadata">

**Author:** ![Grayhammy](https://avatars.discourse-cdn.com/v4/letter/g/ecae2f/32.png) [@Grayhammy](https://forum.kirupa.com/u/Grayhammy)\
**Post date:** [June 30, 2008, 11:51am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/8 "2008-06-30T11:51:27Z")

</div>

I have figured it out. I just separated the loops so the blurTween.onMotionChanged was no long within a for loop:

```auto

	for(var i=0; i<len; i++){
		//trace(i);
		//trace(menuArr*);
		var blurTween:Tween = new Tween(menuArr*, "blur", Strong.easeOut, 10, 0, 1, true);
		//trace(menuArr*);
	}
	
	
	blurTween.onMotionChanged = function() {
		for(var i=0; i<len; i++){
			menuArr*.filters = [new BlurFilter(menuArr*.blur, menuArr*.blur, 1)];
		}
	}

```

---

<div class="post-metadata">

**Author:** ![randomagain](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@randomagain](https://forum.kirupa.com/u/randomagain)\
**Post date:** [June 30, 2008, 11:52am UTC](https://forum.kirupa.com/t/flash-8-blur-tweening-movieclip-items-in-an-array/264716/9 "2008-06-30T11:52:57Z")

</div>

or that 😛
