Анимация динамических объектов

Я новичок в 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, когда вы создаете анимацию движения, поэтому вы получаете ошибку нулевой ссылки. Переместите создание твина в обработчики кликов, и все будет в порядке.

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