ARObjectクラス
ARObjectは直接インスタンス化できない抽象クラスです。ARchitect Worldにレンダリングされるオブジェクトに必要な基本的なメソッドとプロパティを提供します。
ARObjectは、GeoObjectまたはImageTrackableによって実世界に投影されます。また、カメラビューでARObjectを表現するために拡張オブジェクトがアタッチされます。
項目索引
メソッド
destroy
()
オブジェクトを破棄します。
drawables.addCamDrawable
-
drawable
-
position
拡張オブジェクトをARObjectに追加します。
パラメーター:
-
drawable
Drawable | Drawable[]追加する拡張オブジェクト。単一、または複数の拡張オブジェクトを配列で指定できます。
-
position
Number オプション拡張オブジェクトを追加する配列内の位置。指定しない場合は、配列の最後に追加されます。整数にする必要があります。
drawables.removeCamDrawable
-
drawable|position
拡張オブジェクトをARObjectから削除します。
パラメーター:
-
drawable|position
Drawable | [Drawable] | Number単一、または複数の拡張オブジェクトを配列で指定すると、それらが配列から削除されます。整数を指定すると、指定した位置にある拡張オブジェクトが削除されます。
プロパティ
drawables.cam
Drawable[]
カメラビュー内で使用される拡張オブジェクト。
拡張オブジェクトが、配列の添え字順に表示されます。順序が後の拡張オブジェクトは、先に描画された拡張オブジェクトの上に重なります。
配列の内容を[]演算子によって操作しないでください。それらの変更がアプリケーションに反映されるかどうかは保証されません。このプロパティを操作するときは、arobject.drawables.addCamDrawable()とarobject.drawables.removeCamDrawable()を使用するか、arobject.drawables.cam = new Array(...);を使用して直接設定してください。
renderingOrder
Number
異なるARObjectの拡張オブジェクトが重なる場合があります。その場合、renderingOrderによって、そのARObject間の拡張オブジェクトのレンダリング順序が決まります。renderingOrder値の高いARObjectに属する拡張オブジェクトが、renderingOrder値の低いARObjectに属する拡張オブジェクトの前面に描画されます。2つのARObjectに同じrenderingOrderが設定されている場合、それらの拡張オブジェクトは距離に基づいてレンダリングされ、ユーザーに近い方のオブジェクトが遠い方のオブジェクトより前面に描画されます。
たとえば、特定のARObjectの拡張オブジェクトを最前面に移動する場合は、対応するARObjectのrenderingOrder値を非常に大きい値に設定します。
同じARObject内の拡張オブジェクトの描画順序については、Drawable2D.zOrderを参照してください。
整数にする必要があります。
デフォルト値: 0
イベント
onClick
ARObjectのいずれかの拡張オブジェクトがクリックされたとき、どの拡張オブジェクトのonClick()トリガーでもクリックキューが停止されない場合に実行されます。ARObject.onClick()トリガーは、すべてのDrawable.onClick()トリガーが実行された後に実行されます。
複数のARObjectがクリックされた場合、実行順序はユーザーに対するARObjectの距離によって決定され、最も近いARObjectのonClickトリガーが最初に実行されます。
onClick()トリガーの戻り値は、このARObjectのonClick()トリガーが実行された後にキューの次のARObjectのonClick()トリガーを実行するかどうかを決定します。キューの最後のARObjectがさらにクリックキューの実行を要求した場合は、context.onScreenClick()トリガーが実行されます。
このトリガーの戻り値により後続のクリックキューの処理を決定します。falseの場合、クリックキューの実行はこのARObjectで停止しません。したがって、次のARObjectのonClick()トリガーが実行されます。これは、戻り値が設定されていない場合、またはこのARObjectに対してonClick()トリガーが定義されていない場合のデフォルト値です。trueの場合、キューの実行は現在のARObjectで停止し、後続のARObjectのonClick()トリガーは実行されません。
onDragBegan
ユーザーが1本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onDragChanged
ユーザーが1本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onDragEnded
ユーザーが1本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanBegan
ユーザーが2本の指で1つ以上のDrawableをドラッグし始めたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
onPanChanged
ユーザーが2本の指で少なくとも1つのDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onPanEnded
ユーザーが2本の指で1つ以上のDrawableをドラッグして停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
onRotationBegan
ユーザーが2本の指で少なくとも1つのDrawableの回転を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。回転ジェスチャの変更が発生していない場合、onRotationBeganでは常に0です。
onRotationChanged
ユーザーが2本の指で少なくとも1つのDrawableの回転をさせたときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。
onRotationEnded
ユーザーが2本の指で少なくとも1つのDrawableの回転を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
angle
Number開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。onRotationChangedで受け取った最新の角度と常に同じ。
onScaleBegan
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。スケールジェスチャへの変更が発生していない場合、onScaleBeganは常に1です。
onScaleChanged
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。
onScaleEnded
ユーザーが2本の指で少なくとも1つのDrawableの拡大縮小を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。
イベントペイロード:
-
scale
Number開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。onScaleChangedで受信した最新のスケールと常に同じ。