Dynamic Object Tween

Нов съм във Flash/ActionScript 3, опитвам се да актуализирам динамично обекта в Tween.

Информационната променлива ще се променя в зависимост от това кой бутон е натиснат.

В момента получавам грешката по-долу...

TypeError: Грешка #1009: Няма достъп до свойство или метод на препратка към нулев обект. при fl.transitions::Tween/setPosition() при fl.transitions::Tween/set position() при fl.transitions::Tween() при Map_fla::MainTimeline/frame1()

Не съм сигурен къде греша?

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();
}

person Jemes    schedule 11.02.2011    source източник
comment
дава ли грешка преди да се щракнат бутоните?   -  person Tom    schedule 11.02.2011
comment
Да, получавам грешката, преди да направя нещо.   -  person Jemes    schedule 11.02.2011


Отговори (1)


info е null, когато създавате tween, затова получавате грешка при нулева препратка. Преместете инстанцията на tween във вашите манипулатори на кликвания и ще се оправите.

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();
}
person grapefrukt    schedule 11.02.2011
comment
Благодаря, не исках да повтарям кода на Tween, тъй като ще го повтарям много пъти. - person Jemes; 11.02.2011