Ошибка Flash 1071, ожидалось ключевое слово определения

Попытка заставить это работать во Flash AS3, AIR 3.2 для iOS с помощью GreenSock. Я пытался определить его как переменную, функцию и т. Д., Но безрезультатно. Поиск в Интернете ничего не дает.

В строке кода TweenMax tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1}); возникают следующие ошибки:

1071: Синтаксическая ошибка: ожидалось ключевое слово определения (например, функция) после атрибута TweenMax, а не промежуточного кадра.
1084: Синтаксическая ошибка: ожидалось правое соединение перед левым соединением.
1084: Синтаксическая ошибка: ожидалось определение идентификатора перед правым соединением.

var middle:Boolean = false;

public function run():void {
    TweenMax tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
    tween.addEventListener(TweenEvent.UPDATE, updateListener);
    tween.addEventListener(TweenEvent.REPEAT, repeatListener);
}

function updateListener(e:TweenEvent):void {
    if(tween.currentProgress > 0.5 && middle == false)
    {
        TweenMax.to(textOne, 7, {ease:SlowMo.ease.config(1, 0), repeat:-1, autoAlpha:0});
        middle = true;
    }
}

function repeatListener(e:TweenEvent):void {
    textOne.alpha = 1.0;
    middle = false;
}

РЕДАКТИРОВАТЬ: строка с ошибкой была заменена на var tween:TweenMax = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
. Появляются следующие ошибки:
1120: Доступ к неопределенному свойству TweenMax.
1046: Тип не найден или не был компилирован - постоянная времени: TweenMax.
1120: Доступ к неопределенному свойству промежуточного кадра.
1120: Доступ к неопределенному среднему свойству.

Мой импорт GreenSock выглядит следующим образом:

import com.greensock.easing.*;
import com.greensock.plugins.*;
import com.greensock.events.TweenEvent;

Даже пробовал import com.greensock.*;

РЕДАКТИРОВАТЬ: добавление строки import com.greensock.TweenMax; устранило ошибки:
1120: Доступ к неопределенному свойству TweenMax.
1046: Тип не найден или не является константой времени компиляции: TweenMax.

Две другие ошибки остаются в силе.


person ArrayOutOfBounds    schedule 11.02.2013    source источник
comment
var tween=TweenMax.to(...) Вы, кажется, перепутали синтаксисы для AS3 и Java или подобных языков.   -  person Vesper    schedule 11.02.2013
comment
Я уже пробовал это раньше. Это дает множество дополнительных ошибок: Доступ к неопределенному свойству TweenMax, tween и middle.   -  person ArrayOutOfBounds    schedule 11.02.2013


Ответы (1)


@Vesper абсолютно прав.

var tween:TweenMax = TweenMax.to(...)

As3 использует имя: Обозначение типа. Что касается ваших дальнейших ошибок, они могут возникать из-за неправильной ссылки на код greensock, но они являются шагом в правильном направлении. Пожалуйста, разместите их в редактировании.

ладно, давайте посмотрим :

private var _middle:Boolean = false;
private var _tween:TweenMax;

public function run():void {
    _tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});
    _tween.addEventListener(TweenEvent.UPDATE, updateListener);
    _tween.addEventListener(TweenEvent.REPEAT, repeatListener);
}

private function updateListener(e:TweenEvent):void {
    if(_tween.totalProgress() > 0.5 && _middle == false) {
        TweenMax.to(textOne, 7, {ease:SlowMo.ease.config(1, 0), repeat:-1, autoAlpha:0});
        _middle = true;
    }
}

private function repeatListener(e:TweenEvent):void {
    textOne.alpha = 1.0;
    _middle = false;
}

Я не уверен в функциональности, но этот код не должен выдавать ошибок при условии, что textOne действительно существует.

person Boris    schedule 11.02.2013
comment
Я отредактировал свой пост с двумя постоянными ошибками. Не могли бы вы объяснить, почему import com.greensock.TweenMax; работает, а import com.greensock.*; нет? Разве он не импортирует все, что находится в каталоге greensock? - person ArrayOutOfBounds; 11.02.2013
comment
бьет меня, надо сказать,. * работает в моих проектах. какую IDE вы используете? Flash Pro, Flash Builder? FDT? Flash Develop? - person Boris; 11.02.2013
comment
для ваших двух других ошибок мне нужно знать, в какой области находится ваш код. Мы в классе? на кадре анимации? переменная анимации движения доступна только в вашей функции run (), поэтому она не работает в updateListener (). для среднего я не знаю масштаб. - person Boris; 11.02.2013
comment
Мы в классе. Все сделано и закодировано в AS3 - кадры анимации отсутствуют, графический интерфейс Flash не используется. tween и middle появляются только в приведенном выше коде. - person ArrayOutOfBounds; 11.02.2013
comment
Хорошо, я отредактировал ответ, добавив некоторые дополнения о сфере охвата. Он должен скомпилироваться нормально. - person Boris; 11.02.2013
comment
Я не делал переменные глобальными ... facepalm Должен был это заметить. Я также попытался отредактировать ваш ответ, потому что в нем все еще был middle, а не _middle. Единственная ошибка - это ошибка 119: Доступ к возможно неопределенному свойству currentProgress через ссылку со статическим типом com.greensock: TweenMax. приближается. - person ArrayOutOfBounds; 11.02.2013
comment
это потому, что TweenMax не имеет currentProgress, но у него есть progress (): api.greensock.com/as/index.html?com/greensock/ - person Boris; 11.02.2013
comment
Я обновил ответ, указав правильные функции и синтаксис. :) Спасибо. - person ArrayOutOfBounds; 11.02.2013