コンテンツにスキップ

Context モジュール

以下のメソッドは JavaScript UtilityJavaScript ShapeJavaScript DeformerJavaScript EmitterJavaScript Modifier でのみ利用可能です。このモジュールのすべては ctx 名前空間にあるため、メソッドには ctx. プレフィックスが必要です。例:var index = ctx.index;

現在のポイントインデックス。Duplicator(または Connect ShapeTrails などのインデックスを生成するレイヤー)を使用している場合に利用可能。

ポイントの総数。Duplicator(または Connect ShapeTrails などのインデックスを生成するレイヤー)を使用している場合に利用可能。

現在のポイントの X 位置。Duplicator(または Connect ShapeTrails などのインデックスを生成するレイヤー)を使用している場合に利用可能。

現在のポイントの Y 位置。Duplicator(または Connect ShapeTrails などのインデックスを生成するレイヤー)を使用している場合に利用可能。

計算中の Attribute の ID。

計算中のレイヤーの ID。

後で使用するためのオブジェクトを保存します。この機能の一般的なユースケースはソルバーの作成です — 例えば、以前の値を知る必要があるスクリプトです。

保存する値はオブジェクトである必要があります。

後で使用するパスを保存する場合は、保存/読み込み時に path.toObject()/ path.fromObject(obj) メソッドを使用してください。

// Simple examplectx.saveObject("test", {"someKey": 10});// A path example// Create a pathvar path = new cavalry.Path();path.moveTo(0.,0.);path.lineTo(0.,-100.);path.lineTo(300.,-100.);// Save itctx.saveObject("path", path.toObject());// Safety check that there is a saved valueif (ctx.hasObject("path")) { // Load the object let previous = ctx.loadObject("path"); // set the path from the object path.fromObject(previous);}

保存されたオブジェクトを読み込みます。

ctx.saveObject("test", {"someKey": 10});var textObj = ctx.loadObject("test");console.log(textObj["someKey"])

name という名前のオブジェクトが保存されており、読み込み可能な場合に true を返します。

ctx.saveObject("test", {"someKey": 10});if (ctx.hasObject("test")) { /// do something}

JavaScript Utility に値を要求したレイヤーの表示名を取得します。

console.log(ctx.niceName);

上流のローカル 2D 変換行列を返します。存在しない場合は null。

/*1. Create a Shape.2. On the Shape's Deformers attribute, click the + button and choose JavaScript Deformer.3. Copy the below in the JavaScript Deformer's Expression.*/var tm = ctx.transformationMatrix();console.log(tm.position().x);

上流のグローバル 2D 変換行列を返します。存在しない場合は null。

/*1. Create a Shape.2. On the Shape's Deformers attribute, click the + button and choose JavaScript Deformer.3. Copy the below into the JavaScript Deformer's Expression.4. Group the Shape.*/var tm = ctx.globalTransformationMatrix();console.log(tm.position().x);