Flashでマルチタッチを取得できるんだけど、そのごく初期的な動作確認をしたい場合用に作りました。
Windows7の「アクセサリ」に入っている「ペイント」はマルチタッチに対応しているので、WindowsOS側でちゃんと取得できるかどうかの確認には最適なアプリケーションになっています。
そこでさらにFlashで情報が取得できるかの、動作確認用です。
*マルチタッチに対応していないPCでは、「maxTouchPoints:0」と表示され、特に何もおきません。
MultitouchChecker – wonderfl build flash online

某社のデジタルサイネージ機器では10ポイントまで認識しました。
プロジェクター方式(exe)に書き出したものは↓こちらです。
touchChecker.zip
[sourcecode language=”as3″]
package
{
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.TouchEvent;
    import flash.text.TextField;
    import flash.ui.Mouse;
    import flash.ui.Multitouch;
    import flash.ui.MultitouchInputMode;
    import net.hires.debug.Stats;
    /**
     * …
     * @author umhr
     */
    public class Main extends Sprite
    {
        private var _shapeList:Vector.<Shape> = new Vector.<Shape>();
        private var _textField:TextField = new TextField();
        public function Main()
        {
            init();
        }
        private function init():void
        {
            if (stage) onInit();
            else addEventListener(Event.ADDED_TO_STAGE, onInit);
        }
        private function onInit(event:Event = null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE, onInit);
            // entry point
            stage.scaleMode = "noScale";
            stage.align = "TL";
            addChild(new Stats());
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
            var text:String = "";
            text += "maxTouchPoints:" + Multitouch.maxTouchPoints;
            text += "\n" + "supportedGestures:" + Multitouch.supportedGestures;
            text += "\n" + "supportsGestureEvents:" + Multitouch.supportsGestureEvents;
            text += "\n" + "supportsTouchEvents:" + Multitouch.supportsTouchEvents;
            _textField.x = 100;
            _textField.width = 400;
            _textField.selectable = false;
            _textField.text = text;
            addChild(_textField);
stage.addEventListener(TouchEvent.TOUCH_MOVE, stage_touchMove);
            if(Multitouch.maxTouchPoints){
                Mouse.hide();
                var n:int = Multitouch.maxTouchPoints;
                for (var i:int = 0; i < n; i++)
                {
                    var shape:Shape = new Shape();
                    shape.graphics.beginFill(0xFFFFFF*Math.random(), 0.5);
                    shape.graphics.drawCircle(0, 0, 20);
                    shape.graphics.endFill();
                    shape.graphics.beginFill(0x666666, 0.5);
                    shape.graphics.drawCircle(0, 0, 15);
                    shape.graphics.endFill();
                    addChild(shape);
                    _shapeList[i] = shape;
                }
            }
}
        private function stage_touchMove(event:TouchEvent):void
        {
            var shape:Shape = _shapeList[event.touchPointID%_shapeList.length];
            shape.x = event.localX;
            shape.y = event.localY;
        }
}
}
[/sourcecode]

