JAVASCRIPT

Write your own code to interact with Noodl

Javascriptノードは、入力したりや出力したりノードを特定したりする場所にdefineファンクションを呼び出すことで初期化される。

Inputs and outputs

以下の define を呼び出すときに、プロパティを入力オブジェクトに追加することで入力が設定される。

define({
    inputs: {
        nameOfInput: "type"
    },
    outputs: {
        nameOfOutput: "type"
    },
    ...
});

利用可能タイプ:

  • number – Javascriptの数字
  • string – Javascriptストリング
  • boolean – Javascriptブーリアン
  • image – イメージピッカーを有効にする画像までのパス
  • color – カラーピッカーを有効にするHEXカラーコード
  • reference – Noodlノードに使う参照
  • font – フォントピッカーを有効にするフォントファイルまでのパス
  • component – コンポネントピッカーを有効にするコンポネントの名前。Noodl.createComponentとのコンビネーションに有用。

Setup function

Javascriptノードが作成されたときと、入力が初期化されたときにに呼び出されるファンクション。初期状態やイベントリスナーを追加したとき、ウェブソケットの接続をオープンしたときなどに有用。

define({
    outputs: {
        someOutput: "number"
    },
    setup: function(inputs, outputs) {
        //initialize this output to 3
        outputs.someOutput = 3;
    },
    ...
});

Run function

出力が変更されるごと、またはthis.runNextFrame()が呼び出されたときに発動するファンクション

define({
    inputs: {
        a: "number",
        b: "number"
    },
    output: {
        result: "number"
    },
    run: function(inputs, outputs, changedInputs) {
        outputs.result = inputs.a + inputs.b;
    }
});

Destroy function

ノードの実証が破壊されたときに発動するファンクション。これを使用して第三者のライブラリリソースを解放することができる。

define({
    inputs: {
        a: "number",
        b: "number"
    },
    output: {
        result: "number"
    },
    destroy: function(inputs, outputs) {
        // Release resources here
    }
});

Javascript Node API

runsetupは、以下のファンクションを現すthisオブジェクトと一緒に呼び出される

this.runNextFrame()
入力を変更しなくても、次のフレームにrun()ファンクションを呼び出す。

this.flagOutputDirty("outputName")
出力を非同期で変更する場合、Noodlに変更を反映させる必要がある。(例:setTimeoutやWebSockets、XMLHTTPRequestsなどを使用しているとき)

this.sendSignalOnOutput("outputName")
素早くfalseからtrueへの往復を繰り返すブーリアンの信号を発信する。トグルスイッチやトグルアニメーションなどに使う。ブーリアンタイプの出力にのみ使用可能。

Additional APIs

ドキュメント内のAPI Referenceのセクションを確認。

Examples

コンポネント作成についてはこちら – Guide and example project