Пожалуйста, помогите мне понять, что не так с этой функцией - PullRequest
0 голосов
/ 09 января 2012

Что-то не так с этой функцией?

Я пытаюсь изучить actionscript

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 ]

4 голосов
/ 09 января 2012

Поскольку вы пометили это как actionsript-3, я бы сказал, что сначала вы пытаетесь использовать _root, и если у вас не будет переменной-члена с тем же именем, то это не будет работать.

Ключевое слово для root в as3: root, а не _root

0 голосов
/ 09 января 2012

В вашем скрипте вы не объявили переменную frameNo, которая требуется в AS3, вместо этого вы объявляете ее параметром функции, а затем пытаетесь установить ее значение внутри функции, что не имеет особого смыслапотому что независимо от значения этого параметра, когда вы вызываете функцию, он не будет использоваться.Кроме того, в 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);
  }
...