我使用下面的代码来动态捕捉按下的按钮的名称,然后播放相关的气球影片剪辑动画。
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");
}
我收到此错误,即使事件的剪辑名称是正确的
TypeError: Error #1006: value is not a function.
at Balloons2_fla::MainTimeline/player()
任何想法?这段代码有什么问题?
答案 0 :(得分:1)
您的变量movie
被视为字符串
你应该尝试这样的事情:
var movie:MovieClip = this["balloon"+nameofballoon];
movie.gotoAndPlay("burst");
您可能需要将this
替换为ballonX
MovieClip的父级名称。
答案 1 :(得分:0)
var movie = "balloon"+nameofballoon;
trace(movie);
movie.gotoAndPlay("burst");
movie
是一个字符串 - gotoAndPlay
类中没有String
方法。
使用
var movie:MovieClip = this.getChildByName("balloon"+nameofballoon);
movie.gotoAndPlay("burst");