2

Spark AR Studio プロジェクトの一部として、Patch で使用されるスクリプトがあります。

このスクリプトには、2 つの入力 (1 つの bool、1 つのトリガー) と 2 つの出力 (両方のトリガー) があります。

bool 入力の監視は期待どおりに機能しますが、トリガー入力の監視が突然エラーをスローし始めました。

JavaScript error: TypeError: triggerIn.monitor is not a function. (In 'triggerIn.monitor()', 'triggerIn.monitor' is undefined)

ファイルのすべてのコードは次のとおりです。

const Diagnostics = require('Diagnostics');
var Patches = require('Patches');
var Reactive = require('Reactive');

var input1 = Patches.getBooleanValue('input1');
var triggerIn = Patches.getPulseValue('triggerIn');
var onHead = true;

triggerIn.monitor().subscribe( function(e) {
    if (input1) {
        if (onHead) {
            Diagnostics.log('Play-Trigger');
            Patches.setPulseValue("play", Reactive.once());
        } else {
            Diagnostics.log('Reset-Trigger');
            Patches.setPulseValue("reset", Reactive.once());
        }
        onHead = !onHead;
    }
});

input1.monitor().subscribe( function(e) {
  if (e.newValue == true && !onHead) {
    Diagnostics.log('Reset-1');
    Patches.setPulseValue("reset", Reactive.once());
    onHead = true;
  }
});

triggerInはノードの出力にHead Nod接続input1され、 はノードの出力に接続されExactly Equalsます。出力は、ノードのplayおよびreset入力に接続しAnimationます。

以前は、モニター機能に別の根性があり、機能していましたが、すべてのコードを取り除いてログメッセージを入れても、まだ機能しません。

トリガー信号をモニターすることはできませんか? Spark AR は、時々ビルド フォルダーをクリーンアップする必要がある Xcode に少し似ていますか? もしそうなら、Spark AR に相当するものは何ですか? それとも、どういうわけか構文を台無しにして、それを知らないのでしょうか?

パッチだけでエフェクトを動作させることはできますが、スクリプトを作成するとユーザー エクスペリエンスが向上します。

4

1 に答える 1

3

ドキュメント (Apple のドキュメントのような相互リンクが本当に必要です) を参照した後、私は最終的に答えを見つけました…</p>

で取得した値についてPatches.getPulseValue()は、monitor()に直接行く呼び出しを省略しsubscribe()ます。

triggerIn.subscribe( function(e) {
    …
});
于 2019-05-16T13:33:08.487 に答える