如何使用引數從零開始建立一個指令盒指令碼??

在Choregraphe裡,可以編寫自己的指令盒,完整地定義其運作。

我們已經在使用指導簡單修改指令盒腳本里瞭解了指令碼如何運作。如前面所介紹的,前兩步是自動完成,在指令碼中不受使用者的控制。第二步源於使用者建立的連結。但是您可以完全控制第三步,這一步會執行一部分您寫入指令盒指令碼的編碼。 編寫指令碼時,請不要忘記您定義的是一個模組類的方法,有多種可能性,包括屬性、訂閱至ALMemory事件等。

指令盒在完成了初始化以後,就可以被載入。每當啟用一個輸入點時,指令碼中就會有一個方法被呼叫:"onInput_ "。通過這種方法,您就可以在輸入點被啟用時決定進行哪些操作。

編寫指令碼時,可以隨時決定啟用一個輸出點。需呼叫的方法名為 (parameter)。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

方法/步驟

如何操作?

例如:

如果有一個onStopped輸出點是“啟用”型別,那麼呼叫“onStopped()”就應該可以達到目標;

如果有一個faceDetected(string)輸出點,就可以呼叫faceDetected("Robert")來表示檢測到Robert這個人。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

在initialize(初始化)方法之上,有一個方法,與每個指令盒輸入點相關聯。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

前三行完全是強制性的,對其進行修改會導致不可預測的行為發生。您應該修改的是初始化方法的內容。

> 可以初始化屬性(例如變數、針對其它模組的代理等)。

> 應該完成所有隻想進行一次的操作,因為這個指令盒不會在該行為結束前被銷燬。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

會看到一個“onLoad”方法。每當載入指令盒時就會呼叫這個方法。以下三個事件都可以引起載入指令盒:

註釋:

由於指令盒載入時會呼叫這個方法,所以我們強烈建議您不要在這裡使用過於繁瑣的編碼。也就是說,如果一個指令盒的初始化用時過長,會延遲整個行為。如果是在一個時間軸上,那麼您甚至可能無法進行實時操作。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

開始執行行為,指令盒處於根級。

> 指令盒包含在一個載入的行為關鍵幀裡。

> 指令盒包含在另一個指令盒中(即後者的子類為流程圖),並且父類指令盒上的一個“onStart”輸入點被啟用。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

您還會看到一個“onUnload”方法。每當指令盒被解除安裝時就會呼叫這個方法。以下三個事件都會引起解除安裝指令盒:

> 停止行為。

> 指令盒包含在一個行為關鍵幀裡,而同一層上的另一個關鍵幀正被載入(由此,包含指令盒的關鍵幀就要被解除安裝)。

> 指令盒包含在另一個指令盒中(即後者的子類為流程圖),並且父類指令盒上的“onStop”輸入點被啟用。

如何使用引數從零開始建立一個指令盒指令碼? 聽語音

相關問題答案