Wikitude SDK APIリファレンス

バージョン: 8.1.0
表示:

AnimatedImageDrawableクラス

継承元: ImageDrawable
モジュール: AR

AnimatedImageDrawableを使用すると、スプライトシートを使用してアニメーションを表示することができます。

スプライトシートは、アニメーションに必要なすべてのキーフレームを含む画像ファイルです。キーフレームのサイズ(幅と高さ)はすべてのキーフレームについて同じである必要があり、このサイズをインスタンス生成時に渡します。キーフレームは0から始まる配列で管理されます。配列の要素は、一番上の行から左から右の順に格納されます。スプライトシートの端にあるサイズが不完全なキーフレームは無視されます。

インスタンス生成時にパラメーターを渡して、AnimatedImageDrawableのプロパティをカスタマイズできます。

例:
//create a new AnimatedImageDrawable from an ImageResource and pass some setup parameters
var animatedImageDrawable = new AR.AnimatedImageDrawable(imageResource, 5, 40, 50 {
  enabled : false,
  translate : { x: 1 },
  rotate : { z: 190 }
});
// start playing the Animation, with keyframes 0-4, each keyframe is shown 10 miliseconds, and the animation is looped 10 times
animatedImageDrawable.animate([0, 1, 2, 3, 4], 10, 10);

コンストラクター

AnimatedImageDrawable

(
  • imageResource
  • height
  • keyFrameWidth
  • keyFrameHeight
  • options
)

パラメーター:

  • imageResource ImageResource

    AnimatedImageDrawableに使用されるスプライトシートを表すimageResource。

  • height Number

    AnimatedImageDrawableの高さ(SDU単位)。高さはインスタンス生成時に設定され、幅は基になるキーフレームのアスペクト比に従って計算されます。

  • keyFrameWidth Number

    スプライトシート上のキーフレームの幅(ピクセル単位)。整数にする必要があります。

  • keyFrameHeight Number

    スプライトシート上のキーフレームの高さ(ピクセル単位)。整数にする必要があります。

  • options Object オプション

    追加のオブジェクトプロパティをカスタマイズするためのパラメーター。

    設定可能なプロパティは以下のとおりです。

    • enabled(デフォルト値: trueBoolean オプション
    • mirrored(デフォルト値: trueBoolean オプション
    • onClick Function オプション
    • onDragBegan Function オプション
    • onDragChanged Function オプション
    • onDragEnded Function オプション
    • onPanBegan Function オプション
    • onPanChanged Function オプション
    • onPanEnded Function オプション
    • onRotationBegan Function オプション
    • onRotationChanged Function オプション
    • onRotationEnded Function オプション
    • onScaleBegan Function オプション
    • onScaleChanged Function オプション
    • onScaleEnded Function オプション
    • rotate.x(デフォルト値: 0Number オプション
    • rotate.y(デフォルト値: 0Number オプション
    • rotate.z(デフォルト値: 0Number オプション
    • rotate.global.x(デフォルト値: 0Number オプション
    • rotate.global.y(デフォルト値: 0Number オプション
    • rotate.global.z(デフォルト値: 0Number オプション
    • translate.x(デフォルト値: 0Number オプション
    • translate.y(デフォルト値: 0Number オプション
    • translate.z(デフォルト値: 0Number オプション
    • translate.global.x(デフォルト値: 0Number オプション
    • translate.global.y(デフォルト値: 0Number オプション
    • translate.global.z(デフォルト値: 0Number オプション
    • scale.x (デフォルト値: 1Number オプション
    • scale.y (デフォルト値: 1Number オプション
    • scale.z (デフォルト値: 1Number オプション
    • horizontalAnchor (デフォルト値: AR.CONST.HORIZONTAL_ANCHOR.CENTERObject オプション
    • verticalAnchor (デフォルト値: AR.CONST.VERTICAL_ANCHOR.MIDDLEObject オプション
    • zOrder(デフォルト値: 0Number オプション
    • opacity (デフォルト値: 1Number オプション
    • onFinish Function オプション
    • keyFrame(デフォルト値: 0Number オプション

      開始キーフレーム。

メソッド

animate

(
  • keyFrames
  • duration
  • loopTimes
)

指定したキーフレームに基づいてアニメーションを開始します。

パラメーター:

  • keyFrames Number[]

    アニメーションを開始するキーフレーム。設定した数値は、キーフレーム配列の添え字に対応します。整数にする必要があります。

  • duration Number

    各キーフレームの持続時間(ミリ秒単位)。整数にする必要があります。

  • loopTimes(デフォルト値: 1Number オプション

    アニメーションを連続して再生する回数を指定します。負の値を指定すると無限にループします。
    このパラメーターはオプションであり、デフォルト値は1です。整数にする必要があります。

destroy

()

継承元: ARchitectObject

オブジェクトを破棄します。

getBoundingRectangle

() BoundingRectangle

継承元: Drawable2D

このDrawable2DのBoundingRectangleを返します。エラーの場合はnullが返されます。

戻り値:

BoundingRectangle:

Drawable2DのBoundingRectangle。

setKeyFrame

(
  • keyFramePos
)

アニメーションを停止し、AnimatedImageDrawableの内容をkeyFramePosの位置にあるキーフレームに設定します。keyFramePosに指定した数値が使用可能なキーフレームの数を超えている場合は、キーフレーム配列内の有効な位置に自動で調整されます。

パラメーター:

  • keyFramePos Int

    配列内のキーフレームの位置。

プロパティ

destroyed

Boolean

継承元: ARchitectObject

オブジェクトがすでに破棄されているかどうかを示します。

enabled

Boolean

継承元: Drawable

Drawableを有効または無効にするフラグ。無効なDrawableはカメラビューに表示されず、トリガーも発生しません。有効な場合は状況に応じてレンダリングされ、トリガーが発生します。

デフォルト値: true

height

Number

継承元: ImageDrawable

ImageDrawableの高さ(SDU単位)。ImageDrawableの幅は、基になる画像のアスペクト比に従って計算されます。

horizontalAnchor

Number

継承元: Drawable2D

Drawable2Dによって表されるGeoObjectのスクリーン位置に、Drawable2Dのどのピクセル(水平ピクセル列内)が配置されるか、水平方向のアンカーを設定します。

有効な値はAR.CONST.HORIZONTAL_ANCHORで定義されています。たとえば、ImageDrawableの水平アンカーとしてLEFTを設定した場合は、拡張オブジェクトの左端がアンカーポイントとして設定されます。

デフォルトの水平アンカーポイントは、Drawable2Dによって表される拡張オブジェクトの種類によって異なります。

imageResource

ImageResource

継承元: ImageDrawable

ImageDrawableを表すimageResource。

mirrored

Boolean

継承元: Drawable

このDrawableのミラーリングを有効または無効にするフラグ。フロントカメラを使用したとき、ミラーリングしたDrawableはy軸を中心に180°回転します。

デフォルト値: 一般的なDrawableの場合はtrue、ラベルとHTMLDrawableの場合はfalse

offsetX

Number 非推奨

継承元: Drawable2D

非推奨:代わりにtranslate.xを使用してください。

デフォルト値: 0

offsetY

Number 非推奨

継承元: Drawable2D

非推奨:代わりにtranslate.yを使用してください。

デフォルト値: 0

opacity

Number

継承元: Drawable2D

Drawable2Dによって表される拡張オブジェクトの透明度を定義する0.0~1.0の範囲内の値。値に0を設定すると拡張オブジェクトは完全に透明になり、値に1を設定すると完全に不透明で表示されます。

デフォルト値: 1

rotate

Object

継承元: Drawable

Drawableの中央を中心とした回転を定義します。このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。

rotate.global.x

Number

継承元: Drawable

ターゲット画像のx軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.global.y

Number

継承元: Drawable

ターゲット画像のy軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.global.z

Number

継承元: Drawable

ターゲット画像のz軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

rotate.heading

Number 非推奨

継承元: Drawable

非推奨:代わりにrotate.yまたはrotate.global.yを使用してください。

rotate.roll

Number 非推奨

継承元: Drawable

非推奨:代わりにrotate.zまたはrotate.global.zを使用してください。

rotate.tilt

Number 非推奨

継承元: Drawable

非推奨:代わりにrotate.xまたはrotate.global.xを使用してください。

rotate.x

Number

継承元: Drawable

x軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotate.y

Number

継承元: Drawable

y軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotate.z

Number

継承元: Drawable

z軸を中心としたDrawableの回転(度単位)を定義します。値には360の剰余が適用されます。つまり、361°を設定した場合と1°を設定した場合は同じ結果になります。

デフォルト値: 0

rotatesToCamera

Boolean

継承元: Drawable

drawableがカメラに向くように指向されているかどうかを定義します。 これは、GeoObjectにアタッチされているDrawablesに対してのみ可能です。

デフォルト値: 汎用drawablesの場合はtrue、モデルの場合はfalse。

rotation

Number 非推奨

継承元: Drawable2D

非推奨:代わりにrotate.zを使用してください。

scale

Number 非推奨

継承元: Drawable

非推奨:代わりにscale.xとscale.yを使用してください。

scale.x

Number

継承元: Drawable

x方向のスケール。 負でない必要があります。

デフォルト値: 1

scale.y

Number

継承元: Drawable

y方向のスケール。 負でない必要があります。

デフォルト値: 1

scale.z

Number

継承元: Drawable

z方向のスケール。 負でない必要があります。

デフォルト値: 1

translate

Object

継承元: Drawable

Drawableの平行移動を定義します。 このプロパティを使用すると、最高のパフォーマンスを出すために、Wikitude SDKのネイティブサイドへの1回の呼び出しで、x、y、zコンポーネントを同時に設定できます。 Objectは、x、y、z、またはそのサブセットを含むことができます。

translate.global.x

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の水平オフセット。 Drawableの位置は、xに正の値を設定すると右に移動し、負の値を設定すると左に移動します。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.global.y

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の垂直オフセット。Drawableの位置は、yに正の値を設定すると上に移動し、負の値を設定すると下に移動します。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.global.z

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の深さオフセット。 Drawableの位置は、zに正の値を設定するとユーザーの方に移動し、負の値を設定すると奥に移動します。 すべてのグローバル変換は、ローカル変換後に適用されます。

デフォルト値: 0

translate.x

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の水平オフセット。 Drawableの位置は、xに正の値を設定すると右に移動し、負の値を設定すると左に移動します。

デフォルト値: 0

translate.y

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の垂直オフセット。Drawableの位置は、yに正の値を設定すると上に移動し、負の値を設定すると下に移動します。

デフォルト値: 0

translate.z

Number

継承元: Drawable

Drawableの計算された位置までのSDU単位の深さオフセット。 Drawableの位置は、zに正の値を設定するとユーザーの方に移動し、負の値を設定すると奥に移動します。

デフォルト値: 0

verticalAnchor

Number

継承元: Drawable2D

Drawable2Dによって表されるGeoObjectのスクリーン位置に、Drawable2Dのどのピクセル(垂直ピクセル列内)が配置されるか、垂直方向のアンカーを設定します。

有効な値はAR.CONST.VERTICAL_ANCHORで定義されています。たとえば、Imageの垂直アンカーとしてTOPを設定した場合は、拡張オブジェクトの上端がアンカーポイントとして設定されます。

デフォルトの垂直アンカーポイントは、Drawable2Dによって表される拡張オブジェクトの種類によって異なります。

zOrder

Number

継承元: Drawable2D

特定のGeoObjectに複数のDrawable2Dが割り当てられている場合、zOrderによってそれらのDrawableの描画順序が決まります。複数のDrawableが重なる場合は、zOrder値の高いDrawableの方が前面にレンダリングされます(たとえば、zOrder = 1のDrawableはzOrder = 0のDrawableより前面にレンダリングされます)。同じzOrderを持つDrawableが重なった場合の動作は不定であり、予期しない結果になる可能性があります。そのため、重なる可能性のあるDrawableにはzOrderを定義することを推奨します。

異なるGeoObjectに属するDrawableのレンダリング順序を指定するには、GeoObject.renderingOrderを参照してください。

整数にする必要があります。

デフォルト値: 0

イベント

onClick

継承元: Drawable

Drawableをクリックすると、Drawable.onClickトリガーが実行されます。画面上のクリックは複数のDrawableにヒットする場合があるため、最前面のDrawableを先頭とする"クリックされたDrawableのキュー"が作成されます。トリガーの戻り値は、このDrawableのonClick()トリガーが実行された後にキューの次のDrawableのonClick()トリガーを実行するかどうかを決定します。キューの最後のDrawableがさらにonClick()トリガーの実行を要求した場合は、ARObject.onClick()トリガーが実行されます。さらにキューの実行が要求された場合は、context.onScreenClick()トリガーが実行されます。

このトリガーの戻り値により後続のクリックキューの処理を決定します。falseの場合、クリックキューの実行はこのDrawableで停止しません。したがって、次のDrawableのonClick()トリガーが実行されます。これは、戻り値が設定されていない場合、またはこのDrawableに対してonClickトリガーが定義されていない場合のデフォルト値です。trueの場合、キューの実行は現在のDrawableで停止し、後続のDrawableのonClick()トリガーは実行されません。

イベントペイロード:

  • arObject ARObject

    クリックされたDrawableにアタッチされているARObject。

    このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonClickトリガーにカスタム関数を指定することで、カスタム機能を追加できます。

onDragBegan

継承元: Drawable

ユーザーが1本の指でDrawableのドラッグを開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。 ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。 ドラッグジェスチャへの変更が発生していない場合、onDragBeganは常に0です。

  • xIntersection Number

    ワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、開始タッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onDragChanged

継承元: Drawable

ユーザーが1本の指でDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。

  • xIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onDragEnded

継承元: Drawable

ユーザーが1本の指でDrawableのドラッグを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。 onDragChangedで受信した最新の距離と常に同じ

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。 onDragChangedで受信した最新の距離と常に同じ

  • xIntersection Number

    ワールド空間における、終了タッチレイとインスタントトラッキング平面の交点位置のX座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

  • yIntersection Number

    ワールド空間における、更新されたタッチレイとインスタントトラッキング平面の交点位置のY座標 [-無限, 無限]。InstantTrackableが使用できない場合は未定義

onFinish

このトリガーは、AnimatedImageDrawableが完了したときに発生します。

このトリガーのデフォルト値はnullであり、トリガーが発生したときに何もアクションは実行されません。開発者はonFinishトリガーにカスタム関数を指定することで、カスタム機能を追加できます。

onPanBegan

継承元: Drawable

ユーザーが2本の指でDrawableのドラッグを開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。パンジェスチャへの変更が発生していない場合、onPanBeganは常に0です。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。 パンジェスチャへの変更が発生していない場合、onPanBeganは常に0です。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onPanChanged

継承元: Drawable

ユーザーが2本の指でDrawableをドラッグすると実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onPanEnded

継承元: Drawable

ユーザーが2本の指でDrawableのドラッグを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • xNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のX軸上の距離。onPanChangedで受信した最新の距離と常に同じです。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

  • yNormalized Number

    開始タッチ位置と更新タッチ位置[-1,1]との間のY軸上の距離。onPanChangedで受信した最新の距離と常に同じです。第1のタッチと第2のタッチとの間の中間点はスケールと回転のジェスチャーの同時動作のための距離の計算に使用されます。

onRotationBegan

継承元: Drawable

ユーザーが2本の指でDrawableの回転を開始したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。回転ジェスチャの変更が発生していない場合、onRotationBeganでは常に0です。

onRotationChanged

継承元: Drawable

ユーザーが2本の指でDrawableを回転したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。

onRotationEnded

継承元: Drawable

ユーザーが2本の指でDrawableの回転を停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • angle Number

    開始タッチ位置によって定義された線と更新されたタッチ位置[0,360]によって定義される線との間の角度でのCCW角度。onRotationChangedで受け取った最新の角度と常に同じ。

onScaleBegan

継承元: Drawable

ユーザーが2本の指でDrawableの拡大縮小を開始するときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。 スケールジェスチャへの変更が発生していない場合、onScaleBeganは常に1です。

onScaleChanged

継承元: Drawable

ユーザーが2本の指でDrawableを拡大縮小するときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。

onScaleEnded

継承元: Drawable

ユーザーが2本の指でDrawableのスケーリングを停止したときに実行されます。このコールバックは、イベント伝播の流れとしてonClickコールバックと同じように動作します。

イベントペイロード:

  • scale Number

    開始タッチと更新されたタッチ間の距離の比を定義した[0、inf]のスケール値。 onScaleChangedで受信した最新のスケールと常に同じ。