peter9477

multitouch study 1

May 2nd, 2011
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. package
  2. {
  3. import caurina.transitions.Tweener;
  4.  
  5. import flash.display.Sprite;
  6. import flash.events.TouchEvent;
  7. import flash.events.Event;
  8. import flash.ui.Multitouch;
  9. import flash.ui.MultitouchInputMode;
  10.  
  11. [SWF(width="1024", height="600", backgroundColor="#cccccc")]
  12. public class MultiTouch extends Sprite
  13. {
  14. public var dots:Object = {};
  15.  
  16. public function MultiTouch()
  17. {
  18. trace('starting MultiTouch')
  19. addEventListener(Event.ADDED_TO_STAGE, onAdded);
  20. }
  21.  
  22. private function onAdded(event:Event):void
  23. {
  24. Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
  25. stage.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
  26. stage.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
  27. }
  28.  
  29. public const RADIUS:int = 50;
  30. public const CROSS:int = 75;
  31. private function onTouchBegin(e:TouchEvent):void
  32. {
  33. var tpid:int = e.touchPointID;
  34.  
  35. var dot:Sprite = new Sprite();
  36. dot.graphics.beginFill(int(Math.random() * 0xffffff));
  37. dot.graphics.drawCircle(0, 0, RADIUS);
  38. dot.graphics.endFill();
  39. dot.graphics.lineStyle(0);
  40. dot.graphics.moveTo(-CROSS, 0);
  41. dot.graphics.lineTo(CROSS, 0);
  42. dot.graphics.moveTo(0, -CROSS);
  43. dot.graphics.lineTo(0, CROSS);
  44. this.addChild(dot);
  45.  
  46. trace('touch', tpid);
  47. dot.x = e.stageX;
  48. dot.y = e.stageY;
  49.  
  50. dot.startTouchDrag(tpid, true);
  51. dots[tpid] = dot;
  52. }
  53.  
  54. private function onTouchEnd(e:TouchEvent):void
  55. {
  56. var tpid:int = e.touchPointID;
  57. var dot:Sprite = dots[tpid];
  58. dot.stopTouchDrag(tpid);
  59. delete dots[tpid];
  60.  
  61. Tweener.addTween(dot, {alpha: 0, time: 1, transition: 'linear',
  62. onComplete: this.removeChild,
  63. onCompleteParams: [dot]
  64. });
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment