2013-02-11 59 views
0

嘗試使用GreenSock在適用於iOS的AIR AS3的Flash AS3中使用此功能。我試着把它定義爲一個變量,函數等等,但都無濟於事。在線搜索沒有任何結果。Flash 1071錯誤,預期定義關鍵字

下列錯誤拿出來的代碼TweenMax tween = TweenMax.to(textOne, 14, {x:xScreenPosEnd, ease:SlowMo.ease.config(1, 0), repeat:-1});行:後屬性TweenMax,不吐溫預期定義關鍵字(如功能):

1071:語法錯誤。
1084:語法錯誤:在leftbrace之前期待rightbrace。
1084:語法錯誤:期望標識符在rightparen之前。

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。

其他兩個錯誤依然存在。

+3

'var tween = TweenMax.to(...)'你看起來混合了AS3和Java或類似語言的語法。 – Vesper 2013-02-11 13:04:08

+0

我已經嘗試過,之前已經。它給出了許多更多的錯誤:訪問未定義的屬性TweenMax,補間和中間。 – ArrayOutOfBounds 2013-02-11 13:14:10

回答

1

@Vesper是絕對正確的。

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

As3使用名稱:Type notation。至於你的進一步錯誤,他們可能來自錯誤地指出綠色代碼,但它們是朝着正確方向邁出的一步。請在編輯中發佈它們。

好吧,讓我們來看看:

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; 
} 

我不知道functionnality,但是這個代碼不應該拋出錯誤,只要textOne確實存在。

+0

我已編輯我的帖子與兩個持續的錯誤。你能解釋爲什麼'import com.greensock.TweenMax;'工作和'import com.greensock。*;'不?它不會導入greensock目錄中的所有內容嗎? – ArrayOutOfBounds 2013-02-11 13:40:02

+0

擊敗我,我必須說,。*在我的項目中工作。你在用什麼IDE? Flash Pro,Flash Builder? FDT? Flash開發? – Boris 2013-02-11 13:55:05

+0

爲你的兩個其他錯誤,我需要知道你的代碼在什麼範圍。我們在一個班級?在動畫幀上? 變量補間僅在您的函數run()中可用,因此它在updateListener()中失敗。中間我不知道範圍。 – Boris 2013-02-11 13:57:33