作者:http://www.bytearray.org/?p=91
protected var mg:MouseGesture = null;
mg = new MouseGesture(this.stage);
mg.addGesture("UP", "6");
mg.addGesture("DOWN", "2");
mg.addGesture("RIGHT", "0");
mg.addGesture("LEFT", "4");
mg.addGesture("CLOCK", "67012345");
mg.addGesture("ANTICLOCK", "65432107");
mg.addEventListener(GestureEvent.GESTURE_MATCH,matchHandler);
// 不同鼠标手势执行不同的处理
protected function matchHandler(event:GestureEvent):void
{
TweenMax.killAllTweens();
switch (event.datas)
{
case "UP":
TweenMax.to(mesh, 1, {rotationX: mesh.rotationX - 360});
break;
case "DOWN":
TweenMax.to(mesh, 1, {rotationX: mesh.rotationX + 360});
break;
case "LEFT":
TweenMax.to(mesh, 1, {rotationY: mesh.rotationY + 360});
break;
case "RIGHT":
TweenMax.to(mesh, 1, {rotationY: mesh.rotationY - 360});
break;
case "CLOCK":
TweenMax.to(mesh, 1, {rotationZ: mesh.rotationZ + 360});
break;
case "ANTICLOCK":
TweenMax.to(mesh, 1, {rotationZ: mesh.rotationZ - 360});
break;
}
}
原理:
自定义鼠标周围的八个方向为八个数字,然后排列数字组合标识不同的鼠标动作