请帮我理解这个功能的特别之处

时间:2012-01-09 06:50:37

标签: flash actionscript-3 actionscript adobe flash-cs3

这个功能有什么问题吗?

我正在尝试学习动作

public function navigateToFrame(frameNo:Number)
 {
        var firstNumber:Number = 25;
        var secondNumber:Number = 1;
        trace("crap..."+firstNumber);
        frameNo  =  firstNumber * (frameNo - secondNumber);
        trace("crap..."+frameNo);
        frameNo =  frameNo + secondNumber;
        trace("crap..."+frameNo);
        _root.gotoAndStop(frameNo);
  }

我得到一个类似的编译错误 '语法错误。

2 个答案:

答案 0 :(得分:4)

由于您使用actionsript-3对此进行了标记,我首先要说的是,您尝试使用_root,除非您碰巧有一个同名的成员变量,否则这将不起作用

as3中root的关键字为root,而不是_root

答案 1 :(得分:-1)

在你的脚本中,你没有声明AS3中所需的frameNo变量,而是你声明它是一个函数参数,然后尝试在函数中设置它的值,这不会使很有意义,因为无论该参数的值是什么,当你调用该函数时,它都不会被使用。此外,在AS3中,root的引用存储在名为root的对象属性中。

将您的代码更改为此内容并尝试一下:

public function navigateToFrame(frameNo:Number)
 {
    var firstNumber:Number = 25;
    var secondNumber:Number = 1;
    var frameNoVar:Number
    trace("crap..." + firstNumber);
    frameNoVar = firstNumber * (frameNo - secondNumber);
    trace("crap..." + frameNoVar);
    frameNoVar = frameNo + secondNumber;
    trace("crap..." + frameNoVar);
    Object(root).gotoAndStop(frameNo);
  }