0

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?

2 Answers 2

1

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.

Sign up to request clarification or add additional context in comments.

Comments

0
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");

1 Comment

I ran into a similar problem. Your solution helped me, but I did have to cast the movie specifically as movieclip. Like this: var movie:MovieClip = this.getChildByName("balloon"+nameofballoon) as MovieClip;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.