views:

50

answers:

2

i am using this code below to dynamically capture the name of the button pressed and then playing the related balloon movie clip animation.

stage.addEventListener(MouseEvent.CLICK, player); 

function player(evt:MouseEvent){
var nameofballoon = evt.target.name;
 nameofballoon =nameofballoon.substring(nameofballoon.length-1,nameofballoon.length);
var movie = "balloon"+nameofballoon;
 trace(movie);
movie.gotoAndPlay("burst");

  }

i'm getting this error even though the name of the clip capture by the event is correct

TypeError: Error #1006: value is not a function.
at Balloons2_fla::MainTimeline/player()

any thoughts ? what wrong with this code?

+1  A: 

Your variable movie is considered as a String.
You should try something like this :

var movie:MovieClip = this["balloon"+nameofballoon];
movie.gotoAndPlay("burst");

You may have to replace this by the name of the parent of your ballonX MovieClip.

Zed-K
A: 
var movie = "balloon"+nameofballoon;
trace(movie);
movie.gotoAndPlay("burst");

movie is a string - there is no gotoAndPlay method in String class.

Use

var movie:MovieClip = this.getChildByName("balloon"+nameofballoon);
movie.gotoAndPlay("burst");
Amarghosh