<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="windowedapplication1_applicationCompleteHandler(event)" backgroundAlpha="1" backgroundColor="#FFFFFF" frameRate="60" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import flash.events.TouchEvent; import flash.ui.Multitouch; import flash.ui.MultitouchInputMode; import mx.events.FlexEvent; private var touchMap : Object = {} protected function windowedapplication1_applicationCompleteHandler(event:FlexEvent):void { stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT addEventListener( TouchEvent.TOUCH_BEGIN, onTouchBegin ); addEventListener( TouchEvent.TOUCH_END, onTouchEnd ); addEventListener( TouchEvent.TOUCH_MOVE, onTouchMove ); } private function onTouchBegin( event : TouchEvent ) : void { var key : String = event.touchPointID.toString(); var touchPoint : Object = {}; touchPoint.x = event.stageX; touchPoint.y = event.stageY; touchPoint.sizeX = event.sizeX; touchPoint.sizeY = event.sizeY; touchPoint.color = Math.random() * 0xFFFFFF; touchMap[ key ] = touchPoint; invalidateDisplayList(); } private function onTouchEnd( event : TouchEvent ) : void { var key : String = event.touchPointID.toString(); delete touchMap[ key ]; invalidateDisplayList(); } private function onTouchMove( event : TouchEvent ) : void { var key : String = event.touchPointID.toString(); if ( touchMap[ key ] ) { touchMap[ key ].x = event.stageX; touchMap[ key ].y = event.stageY; touchMap[ key ].sizeX = event.sizeX; touchMap[ key ].sizeY = event.sizeY; } invalidateDisplayList(); } override protected function updateDisplayList(w:Number, h:Number) : void { super.updateDisplayList(w,h); with (drawTarget.graphics) { clear(); for each ( var touchPoint : Object in touchMap ) { beginFill( touchPoint.color ); drawEllipse( touchPoint.x-(touchPoint.sizeX/2), touchPoint.y-(touchPoint.sizeY/2), touchPoint.sizeX, touchPoint.sizeY ); } } } ]]> </mx:Script> <mx:UIComponent id="drawTarget" /> </mx:WindowedApplication>