2011-02-11 59 views
0

我是新来的Flash/ActionScript 3,我试图动态更新补间对象。动态对象补间

info变量将根据按下的按钮而改变。

目前我得到下面的错误...

类型错误:错误#1009:无法访问空对象引用的属性或方法。 在事件|常量fl.transitions ::吐温/ setPosition两种() 在事件|常量fl.transitions ::吐温/设定在事件|常量fl.transitions ::吐温() 位置() 在Map_fla :: MainTimeline /帧1()

我不确定我要去哪里?

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 

var info:MovieClip; 

var myTween:Tween = new Tween(info, "alpha", Strong.easeOut, 1, 0, 2, true); 
myTween.stop(); 

btn_Button.addEventListener(MouseEvent.CLICK, onClick); 

btn_Button.addEventListener(MouseEvent.CLICK, onClick2); 

function onClick(e:MouseEvent){ 
    info = mc_England; 
    myTween.start(); 
} 

function onClick2(e:MouseEvent){ 
    info = mc_Scotland; 
    myTween.start(); 
} 
+0

在点击按钮之前会出错吗? – Tom 2011-02-11 12:25:40

+0

是的,我在做任何事之前都会得到错误。 – Jemes 2011-02-11 12:46:33

回答

1

info为空当你创建补间,这就是为什么你得到一个空引用错误。将补间的实例移动到您的点击处理程序中,您会很好。

function onClick(e:MouseEvent){ 
    applyTween(mc_England); 
} 

function onClick2(e:MouseEvent){ 
    applyTween(mc_Scotland); 
} 

function applyTween(target:MovieClip){ 
    var myTween:Tween = new Tween(target, "alpha", Strong.easeOut, 1, 0, 2, true); 
    myTween.start(); 
}