Sprite.startTouchDrag と stopTouchDrag メソッド

Flash Player 10.1 から Sprite クラスに 2 つの新しいメソッドが追加されました。タッチ操作によるドラッグ機能を、Sprite (またはそのサブクラス) に提供するためのメソッドです。マウス操作に対する Sprite.startDrag() メソッドと Sprite.stopDrag() メソッドに相当します。

public function startTouchDrag(touchPointID:int, 
                               lockCenter:Boolean = false, 
                               bounds:Rectangle = null):void
public function stopTouchDrag(touchPointID:int):void
 

Sprite.startDrag() や stopDrag() との違いは、最初の引数に touchPointID を必要とすることです。この値は TouchEvent の touchPointID 属性から取得できます。stopTouchDrag() でドラッグを中止するには、startTouchDrag() で指定した touchPointID と同じ値を指定します。

startTouchDrag() の残り 2 つの引数は startDrag() の引数と同じで、

  • lockCenter: false の場合 Sprite 内の最初に触れた箇所が、true の場合 Sprite の基準点がドラッグする位置になる
  • bounds: Rectangle を使って親オブジェクトの座標でドラッグできる領域を指定する

です。

startTouchDrag() でドラッグできる Sprite は同時に 1 つだけです。stopTouchDrag() が明示的に呼ばれるか、他の Sprite がドラッグ可能な状態になると、ドラッグ中の Sprite はドラッグできなくなります。

3D 回転ツールや Matrix3D を使った Sprite は、ドラッグするとその Sprite に定義されている 3D 空間内を移動します。また、2 次元の Sprite でも親オブジェクトが 3 次元オブジェクトの場合、親オブジェクトに定義されている 3D 空間内を移動します。

下は、Sprite.startDrag() と stopDrag() を使った簡単なサンプルです。タッチパネル上で円形のオブジェクトに触れるとそのまま 3 次元空間内をドラッグできます。

Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT;
 
var mySprite:Sprite = new Sprite();
 
mySprite.graphics.beginFill(0xFFCC00);
mySprite.graphics.drawCircle(50, 50, 40);
 
// 3Dオブジェクトにしてから
mySprite.z = 0;
// 回転軸を設定する
mySprite.transform.matrix3D.appendRotation(-5, Vector3D.X_AXIS);
mySprite.transform.matrix3D.appendRotation(15, Vector3D.Y_AXIS);
 
addChild(mySprite);
 
// イベントハンドラの設定
mySprite.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin)
mySprite.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
 
function onTouchBegin(e:TouchEvent):void
{
  mySprite.startTouchDrag(e.touchPointID);
}
 
function onTouchEnd(e:TouchEvent):void
{
  mySprite.stopTouchDrag(e.touchPointID);
}
 

トラックバック(0)

トラックバックURL: http://cuaoar.jp/mt4/mt-tb.cgi/65

コメントする

2014年1月

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
レンタルサーバー

月別 アーカイブ

Powered by Movable Type 4.261