AS3如何从时间轴上的类调用函数?

时间:2015-08-05 17:39:58

标签: function actionscript-3 class

如何从名为Digit的类文件中调用以下公共函数:

public class Digit extends MovieClip {
public function flipTo(num:String):void {
        _number = num;
        _nextDigit[TOP].t_num.text = num;
        _nextDigit[BOTTOM].t_num.text = num;

        // flip down the top of the digit to the halfway point
        TweenLite.to(_currentDigit[TOP], .15, {scaleY:0, ease:Linear.easeNone});
        // flip the next digit bottom down 
        TweenLite.to(_nextDigit[BOTTOM], .3, {scaleY:1, onComplete: flipComplete,  ease: Bounce.easeOut});
    }
}

在主时间轴上,当我需要这样时,我试图调用此函数来启动翻转动画:

function clockShow(){
clock.visible = true;
var digit:Digit = new Digit(); 
digit.flipTo(); 
}

但我收到此错误:场景1,图层'为',第1帧,第21行1136:参数数量不正确。预计1。

第21行是指digit.flipTo();

请指教。谢谢!

2 个答案:

答案 0 :(得分:0)

首先你应该导入那个类

import Digit;

正如你所说" 我试图调用flipTo();从根时间线...... "你的功能应该是静态的。如果你的功能是静态的,你不需要写var digit:Digit = new Digit();但是如果你想设置更多的数字,不要将它设置为静态。

public static function flipTo(num:String):void {...

现在您可以从主时间轴中调用它:

Digit.flipTo(myString);

我这是有帮助的

答案 1 :(得分:0)

  

但我收到此错误:场景1,图层'为',第1帧,第21行1136:参数数量不正确。预计1。

嗯,这是因为你的方法需要一个参数:

public function flipTo(num:String):void

正如您所声明的那样,您的方法需要传递一个String。在您的示例代码中:

var digit:Digit = new Digit(); 
digit.flipTo(); 

你没有传递任何东西。这几乎就是错误信息所说的内容。