2009-01-30 26 views
0

我有一個導演項目有3個腳本(2個行爲和1個電影腳本)。我有下面的代碼在我的電影劇本:導演11和Flash與AS 2通信

on startRecording() 
    --do stuff 
    _movie.script["script2"].passGrade(75, 3, 4) 
end 

,並在我的行爲腳本之一,我有以下幾點:

on passGrade (acc, dur, tim) 
    member("Assessment", "Assessment").displayGrade(acc, dur, tim) 
end passGrade 

其中第二行爲腳本的名稱爲script2且有舞臺上名爲Assessment的Flash對象,該對象具有名爲displayGrade的ActionScript方法,該方法將3個數字作爲輸入。

我有2個問題。首先,呼叫-movie.script["script2"].passGrade(75, 3, 4)不起作用,我不明白爲什麼。我不允許從電影劇本中調用一個行爲嗎?或者我沒有正確地做到這一點?第二個問題是我如何調用ActionScript方法?該腳本被定義爲Flash對象的行爲,稱爲Assessment,但Director似乎無法找到該方法。

我使用董事11的HotFix 3,Flash對象被編譯爲ActionScript 2

回答

1

調用的行爲腳本的語法而應是:

腳本( 「SCRIPT2」)passGrade(75,3,4)

另外,您可以將您的行爲附加到閃光精靈(中你在舞臺上閃光的情況下),呼叫發送到精靈:

sendSprite(flashSpriteNumOrNameOrRef,#passGrade,75%,3,4)

關於調用閃光精靈裏面的函數,你做多或更少一樣,但你第二呼叫到閃存子畫面,而不是構件:

精靈(flashSpriteNumOrNameOrRef).displayGrade(ACC,DUR,TIM)

如果行爲附着到子畫面: 精靈(me.spriteNum)。 displayGrade(acc,dur,tim)

0

一個電影劇本不能調用行爲腳本,因爲bahavior腳本可以連接到多個對象,然後什麼?

電影腳本是「靜態」,而行爲是「動態」。你應該通過flash對象實例/ sprite來引用行爲函數。