<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How gestures will (probably) work</title>
	<atom:link href="http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/feed/" rel="self" type="application/rss+xml" />
	<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/</link>
	<description>Teaching Flash some new tricks</description>
	<lastBuildDate>Wed, 16 May 2012 15:05:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-5321</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Mon, 11 Apr 2011 17:19:33 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-5321</guid>
		<description>The library should work with any tracker software that is capable of converting kinect input data into tuio messages. Maybe have a look here: http://www.tuio.org/?software there seem to be a lot of kinect projects already.
The only drawback may be, that you can&#039;t use the TuioManager or GestureManager properly if the tracker uses the tuio 3D or 2.5D profiles. Then you will maybe have to write your own listener for the TuioClient.</description>
		<content:encoded><![CDATA[<p>The library should work with any tracker software that is capable of converting kinect input data into tuio messages. Maybe have a look here: <a href="http://www.tuio.org/?software" rel="nofollow">http://www.tuio.org/?software</a> there seem to be a lot of kinect projects already.<br />
The only drawback may be, that you can&#8217;t use the TuioManager or GestureManager properly if the tracker uses the tuio 3D or 2.5D profiles. Then you will maybe have to write your own listener for the TuioClient.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mick</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-5315</link>
		<dc:creator>Mick</dc:creator>
		<pubDate>Mon, 11 Apr 2011 14:08:52 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-5315</guid>
		<description>Hi,

I really appreciate your work and i have a question: 

Saywill it be possible to poll for the input of a Kinect Sensor via TUIO and use that data in a Flash game. I have seen it done before in a demo: http://http://www.controllerhacks.de/kinect-finger-tracking-mit-kinectcorevision/0054

Did look into this yet?

Best regards,

Mick</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I really appreciate your work and i have a question: </p>
<p>Saywill it be possible to poll for the input of a Kinect Sensor via TUIO and use that data in a Flash game. I have seen it done before in a demo: <a href="http://http://www.controllerhacks.de/kinect-finger-tracking-mit-kinectcorevision/0054" rel="nofollow">http://http://www.controllerhacks.de/kinect-finger-tracking-mit-kinectcorevision/0054</a></p>
<p>Did look into this yet?</p>
<p>Best regards,</p>
<p>Mick</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-4303</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Thu, 03 Mar 2011 09:49:58 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-4303</guid>
		<description>_x is the internal/private variable for x. As for the difference between x and X check out the Tuio spec. In a nutshell x is the position and X is the velocity vector along the x-axis.</description>
		<content:encoded><![CDATA[<p>_x is the internal/private variable for x. As for the difference between x and X check out the Tuio spec. In a nutshell x is the position and X is the velocity vector along the x-axis.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pier</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-4295</link>
		<dc:creator>Pier</dc:creator>
		<pubDate>Thu, 03 Mar 2011 02:20:08 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-4295</guid>
		<description>What is the difference in the TuioContainer between x, _x and X ???</description>
		<content:encoded><![CDATA[<p>What is the difference in the TuioContainer between x, _x and X ???</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-1196</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Sat, 14 Aug 2010 20:48:55 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-1196</guid>
		<description>yeah the code tag is a bit quirky :/ you also have to specify the lang=&quot;actionscript3&quot; manually.
I&#039;ll have a look at you gesture tomorrow but it looks alright on a quick glance. Maybe specifing a targetAlias is unnecessary.</description>
		<content:encoded><![CDATA[<p>yeah the code tag is a bit quirky :/ you also have to specify the lang=&#8221;actionscript3&#8243; manually.<br />
I&#8217;ll have a look at you gesture tomorrow but it looks alright on a quick glance. Maybe specifing a targetAlias is unnecessary.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-1184</link>
		<dc:creator>George</dc:creator>
		<pubDate>Fri, 13 Aug 2010 13:37:04 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-1184</guid>
		<description>I tried to use the  tag..didn`t work. How can I use syntax highlighting ? Can you highlight my code ?</description>
		<content:encoded><![CDATA[<p>I tried to use the  tag..didn`t work. How can I use syntax highlighting ? Can you highlight my code ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-1183</link>
		<dc:creator>George</dc:creator>
		<pubDate>Fri, 13 Aug 2010 13:35:24 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-1183</guid>
		<description>Hi, thanks for your help!
More than a month later I started a next try. I think this should work- in my small test project it does.
Anything curious to you? I placed some comments.

[code lang=&quot;actionscript3&quot;]
package org.tuio.gestures {
	
	import flash.display.DisplayObject;
	import flash.events.TransformGestureEvent;
	import flash.utils.getTimer;
	
	import org.tuio.TouchEvent;
	import org.tuio.TuioContainer;
	import org.tuio.TuioEvent;
	
	public class OneFingerFlickGesture extends Gesture {
		private var _startTime:uint=0;
		public static const MIN_DISTANCE_HORIZONTAL:Number=0.05;
		public static const MAX_DISTANCE_VERTICAL:Number=0.1;
		public static const THRESHOLD_ACCELERATION:Number=0.2;
		
		public function OneFingerFlickGesture(delay:uint=1000) {
			//register ANY target on touch_down, but never die if loosing target focus
			addStep(new GestureStep(TouchEvent.TOUCH_DOWN, {targetAlias:&quot;!A&quot;,tuioContainerAlias:&quot;A&quot;} ));
			addStep(new GestureStep(TouchEvent.TOUCH_MOVE, { tuioContainerAlias:&quot;A&quot;} ));
			
			//die, other touch points are active
			addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&quot;!B&quot;,die:true} ));
			addStep(new GestureStep(TouchEvent.TOUCH_UP, { tuioContainerAlias:&quot;!B&quot;,die:true} ));
			addStep(new GestureStep(TouchEvent.TOUCH_MOVE, { tuioContainerAlias:&quot;!B&quot;,die:true} ));
			
			addStep(new GestureStep(TouchEvent.TOUCH_UP, {tuioContainerAlias:&quot;A&quot;, maxDelay:delay,goto:2} ));
			
			addEventListener(GestureStepEvent.SATURATED,onStepSaturated);
			addEventListener(GestureStepEvent.DEAD,onStepDead);
		}
		private function onStepDead(e:GestureStepEvent):void{
			
		}
		private function onStepSaturated(e:GestureStepEvent):void{
			//save initial position for threshold actions on satisfaction
			if(e.step==1){
				var gsg:GestureStepSequence=e.group;
				gsg.storeValue(&quot;aStartX&quot;,e.group.getTuioContainer(&quot;A&quot;).x);
				gsg.storeValue(&quot;aStartY&quot;,e.group.getTuioContainer(&quot;A&quot;).y);
			}
		}
		public override function dispatchGestureEvent(target:DisplayObject, gsg:GestureStepSequence):void {
			var accX:Number=gsg.getTuioContainer(&quot;A&quot;).X
			var accY:Number=gsg.getTuioContainer(&quot;A&quot;).Y
			var deltaY:Number=Math.abs(Number(gsg.getValue(&quot;aStartY&quot;))-gsg.getTuioContainer(&quot;A&quot;).y);
			var deltaX:Number=Math.abs(Number(gsg.getValue(&quot;aStartX&quot;))-gsg.getTuioContainer(&quot;A&quot;).x);
			
			//simple threshold
			if(Math.abs(accX)MAX_DISTANCE_VERTICAL &#124;&#124; deltaX&lt;MIN_DISTANCE_HORIZONTAL) return;
			
			trace(&quot;statisfied on target: &quot;+gsg.getTarget(&quot;A&quot;));
			gsg.getTarget(&quot;A&quot;).dispatchEvent(new TransformGestureEvent(TransformGestureEvent.GESTURE_SWIPE, true, false, null, 0, 0, 0, 0, 0,accX,accY));
		}
		
	}
	
}
[/code]

Regards
George</description>
		<content:encoded><![CDATA[<p>Hi, thanks for your help!<br />
More than a month later I started a next try. I think this should work- in my small test project it does.<br />
Anything curious to you? I placed some comments.</p>
<div class="codesnip-container" >
<div class="actionscript3 codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1"><span class="kw4">package</span> org<span class="sy0">.</span>tuio<span class="sy0">.</span>gestures <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> <span class="kw6">flash.display</span><span class="sy0">.</span><a href="http://www.google.com/search?q=displayobject%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:displayobject.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:displayobject.html</a>&#8220;><span class="kw5">DisplayObject</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> <span class="kw6">flash.events</span><span class="sy0">.</span>TransformGestureEvent<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> <span class="kw6">flash.utils</span><span class="sy0">.</span><span class="kw7">getTimer</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> org<span class="sy0">.</span>tuio<span class="sy0">.</span>TouchEvent<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> org<span class="sy0">.</span>tuio<span class="sy0">.</span>TuioContainer<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> org<span class="sy0">.</span>tuio<span class="sy0">.</span>TuioEvent<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">class</span> OneFingerFlickGesture <span class="kw1">extends</span> Gesture <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw2">var</span> _startTime<span class="sy0">:</span><a href="http://www.google.com/search?q=uint%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:uint.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:uint.html</a>&#8220;><span class="kw5">uint</span>=<span class="nu0">0</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static const MIN_DISTANCE_HORIZONTAL<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=<span class="nu0">0.05</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static const MAX_DISTANCE_VERTICAL<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=<span class="nu0">0.1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static const THRESHOLD_ACCELERATION<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=<span class="nu0">0.2</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> OneFingerFlickGesture<span class="br0">&#40;</span><span class="kw7">delay</span><span class="sy0">:</span><a href="http://www.google.com/search?q=uint%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:uint.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:uint.html</a>&#8220;><span class="kw5">uint</span>=<span class="nu0">1000</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//register ANY target on touch_down, but never die if loosing target focus</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_DOWN<span class="sy0">,</span> <span class="br0">&#123;</span>targetAlias<span class="sy0">:</span><span class="st0">&quot;!A&quot;</span><span class="sy0">,</span>tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;A&quot;</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_MOVE<span class="sy0">,</span> <span class="br0">&#123;</span> tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;A&quot;</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//die, other touch points are active</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_DOWN<span class="sy0">,</span> <span class="br0">&#123;</span> tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;!B&quot;</span><span class="sy0">,</span>die<span class="sy0">:</span><span class="kw1">true</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_UP<span class="sy0">,</span> <span class="br0">&#123;</span> tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;!B&quot;</span><span class="sy0">,</span>die<span class="sy0">:</span><span class="kw1">true</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_MOVE<span class="sy0">,</span> <span class="br0">&#123;</span> tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;!B&quot;</span><span class="sy0">,</span>die<span class="sy0">:</span><span class="kw1">true</span><span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addStep<span class="br0">&#40;</span><span class="kw1">new</span> GestureStep<span class="br0">&#40;</span>TouchEvent<span class="sy0">.</span>TOUCH_UP<span class="sy0">,</span> <span class="br0">&#123;</span>tuioContainerAlias<span class="sy0">:</span><span class="st0">&quot;A&quot;</span><span class="sy0">,</span> maxDelay<span class="sy0">:</span><span class="kw7">delay</span><span class="sy0">,</span>goto<span class="sy0">:</span>2<span class="br0">&#125;</span> <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">addEventListener</span><span class="br0">&#40;</span>GestureStepEvent<span class="sy0">.</span>SATURATED<span class="sy0">,</span>onStepSaturated<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">addEventListener</span><span class="br0">&#40;</span>GestureStepEvent<span class="sy0">.</span>DEAD<span class="sy0">,</span>onStepDead<span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> onStepDead<span class="br0">&#40;</span>e<span class="sy0">:</span>GestureStepEvent<span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> onStepSaturated<span class="br0">&#40;</span>e<span class="sy0">:</span>GestureStepEvent<span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//save initial position for threshold actions on satisfaction</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>e<span class="sy0">.</span>step==1<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> gsg<span class="sy0">:</span>GestureStepSequence=e<span class="sy0">.</span>group<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gsg<span class="sy0">.</span>storeValue<span class="br0">&#40;</span><span class="st0">&quot;aStartX&quot;</span><span class="sy0">,</span>e<span class="sy0">.</span>group<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="kw7">x</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gsg<span class="sy0">.</span>storeValue<span class="br0">&#40;</span><span class="st0">&quot;aStartY&quot;</span><span class="sy0">,</span>e<span class="sy0">.</span>group<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="kw7">y</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> override <span class="kw3">function</span> dispatchGestureEvent<span class="br0">&#40;</span><span class="kw7">target</span><span class="sy0">:</span><a href="http://www.google.com/search?q=displayobject%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:displayobject.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:displayobject.html</a>&#8220;><span class="kw5">DisplayObject</span><span class="sy0">,</span> gsg<span class="sy0">:</span>GestureStepSequence<span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> accX<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=gsg<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>X</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> accY<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=gsg<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span>Y</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> deltaY<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=<a href="http://www.google.com/search?q=math%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html</a>&#8220;><span class="kw5">Math</span><span class="sy0">.</span><span class="kw7">abs</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span><span class="br0">&#40;</span>gsg<span class="sy0">.</span>getValue<span class="br0">&#40;</span><span class="st0">&quot;aStartY&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-</span>gsg<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="kw7">y</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> deltaX<span class="sy0">:</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span>=<a href="http://www.google.com/search?q=math%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html</a>&#8220;><span class="kw5">Math</span><span class="sy0">.</span><span class="kw7">abs</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=number%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:number.html</a>&#8220;><span class="kw5">Number</span><span class="br0">&#40;</span>gsg<span class="sy0">.</span>getValue<span class="br0">&#40;</span><span class="st0">&quot;aStartX&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-</span>gsg<span class="sy0">.</span>getTuioContainer<span class="br0">&#40;</span><span class="st0">&quot;A&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="kw7">x</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//simple threshold</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.google.com/search?q=math%20inurl:<a href="http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html" rel="nofollow">http://livedocs.adobe.com/flex/201/langref/%20inurl:math.html</a>&#8220;><span class="kw5">Math</span><span class="sy0">.</span><span class="kw7">abs</span><span class="br0">&#40;</span>accX<span class="br0">&#41;</span>MAX_DISTANCE_VERTICAL <span class="sy0">||</span> deltaX<span class="sy0">&amp;</span>lt<span class="sy0">;</span>MIN_DISTANCE_HORIZONTAL<span class="br0">&#41;</span> <span class="kw1">return</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">trace</span><span class="br0">&#40;</span><span class="sy0">&amp;</span>quot<span class="sy0">;</span>statisfied on <span class="kw7">target</span><span class="sy0">:</span> <span class="sy0">&amp;</span>quot<span class="sy0">;+</span>gsg<span class="sy0">.</span>getTarget<span class="br0">&#40;</span><span class="sy0">&amp;</span>quot<span class="sy0">;</span>A<span class="sy0">&amp;</span>quot<span class="sy0">;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; gsg<span class="sy0">.</span>getTarget<span class="br0">&#40;</span><span class="sy0">&amp;</span>quot<span class="sy0">;</span>A<span class="sy0">&amp;</span>quot<span class="sy0">;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="kw7">dispatchEvent</span><span class="br0">&#40;</span><span class="kw1">new</span> TransformGestureEvent<span class="br0">&#40;</span>TransformGestureEvent<span class="sy0">.</span>GESTURE_SWIPE<span class="sy0">,</span> <span class="kw1">true</span><span class="sy0">,</span> <span class="kw1">false</span><span class="sy0">,</span> <span class="kw1">null</span><span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span> 0<span class="sy0">,</span>accX<span class="sy0">,</span>accY<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
<p>Regards<br />
George</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-944</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Fri, 25 Jun 2010 17:21:45 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-944</guid>
		<description>Hi

@1: You can add an eventlistener to your gesture listening for GestureStepEvent.SATURATED and checking the step property of the event to be &quot;1&quot;. -&gt; Just like in the RotateGesture.

@2: That&#039;s probably because of the use of the tuioContainerAlias. Remove that and it should work.

You can use the &quot;X&quot; and &quot;Y&quot; properties of the TuioContainer which contain the velocity information of the point&#039;s move.

I hope that helps a bit.</description>
		<content:encoded><![CDATA[<p>Hi</p>
<p>@1: You can add an eventlistener to your gesture listening for GestureStepEvent.SATURATED and checking the step property of the event to be &#8220;1&#8243;. -> Just like in the RotateGesture.</p>
<p>@2: That&#8217;s probably because of the use of the tuioContainerAlias. Remove that and it should work.</p>
<p>You can use the &#8220;X&#8221; and &#8220;Y&#8221; properties of the TuioContainer which contain the velocity information of the point&#8217;s move.</p>
<p>I hope that helps a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-942</link>
		<dc:creator>George</dc:creator>
		<pubDate>Fri, 25 Jun 2010 15:23:44 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-942</guid>
		<description>Hi,
great framework! Especially the UDP Connection in AIR 2.0 is unique up to today.

I want to create a flick gesture, but after spending hours I decided to ask my question here.

Below you can see a very generic version, without any die mechanism- I only want to know, how to get the distance of tuio container A between frame n and frame n+x. Is this realizable in version 0.7 ? I can calculate the frame distance between &quot;down&quot; and &quot;up&quot; via a frameAlias for the first step, but this data is not useful for my calculation.

1. Is there a way to access/save the x,y position of a tuio container A when entering the first step ?
I searched for a method like:GestureStepSequence.getTuioContainerAtFrame(&quot;A&quot;,12345)
or a Event like GestureStepEvent.START to save my start values. 

2. Look at the code lines where I commented out my &quot;die&quot; mechanism. What`s wrong with that ? The gestures is never dying.

Thanks for your information.

Regards,
George

public class FlickGesture extends Gesture {
		
		public function FlickGesture() {
			this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&quot;A&quot;, targetAlias:&quot;A&quot; } ));
			//this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&quot;B&quot;,die:true} ));
			this.addStep(new GestureStep(TouchEvent.TOUCH_MOVE, {tuioContainerAlias:&quot;A&quot;}));
			//this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&quot;B&quot;,die:true} ));
			this.addStep(new GestureStep(TouchEvent.TOUCH_UP, {tuioContainerAlias:&quot;A&quot;,maxDelay:500}));
		}
		public override function dispatchGestureEvent(target:DisplayObject, gsg:GestureStepSequence):void {
			trace(&quot;FLICK &quot; + getTimer());
			trace(gsg.getTuioContainer(&quot;A&quot;).x);
			
		}
	}</description>
		<content:encoded><![CDATA[<p>Hi,<br />
great framework! Especially the UDP Connection in AIR 2.0 is unique up to today.</p>
<p>I want to create a flick gesture, but after spending hours I decided to ask my question here.</p>
<p>Below you can see a very generic version, without any die mechanism- I only want to know, how to get the distance of tuio container A between frame n and frame n+x. Is this realizable in version 0.7 ? I can calculate the frame distance between &#8220;down&#8221; and &#8220;up&#8221; via a frameAlias for the first step, but this data is not useful for my calculation.</p>
<p>1. Is there a way to access/save the x,y position of a tuio container A when entering the first step ?<br />
I searched for a method like:GestureStepSequence.getTuioContainerAtFrame(&#8220;A&#8221;,12345)<br />
or a Event like GestureStepEvent.START to save my start values. </p>
<p>2. Look at the code lines where I commented out my &#8220;die&#8221; mechanism. What`s wrong with that ? The gestures is never dying.</p>
<p>Thanks for your information.</p>
<p>Regards,<br />
George</p>
<p>public class FlickGesture extends Gesture {</p>
<p>		public function FlickGesture() {<br />
			this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&#8221;A&#8221;, targetAlias:&#8221;A&#8221; } ));<br />
			//this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&#8221;B&#8221;,die:true} ));<br />
			this.addStep(new GestureStep(TouchEvent.TOUCH_MOVE, {tuioContainerAlias:&#8221;A&#8221;}));<br />
			//this.addStep(new GestureStep(TouchEvent.TOUCH_DOWN, { tuioContainerAlias:&#8221;B&#8221;,die:true} ));<br />
			this.addStep(new GestureStep(TouchEvent.TOUCH_UP, {tuioContainerAlias:&#8221;A&#8221;,maxDelay:500}));<br />
		}<br />
		public override function dispatchGestureEvent(target:DisplayObject, gsg:GestureStepSequence):void {<br />
			trace(&#8220;FLICK &#8221; + getTimer());<br />
			trace(gsg.getTuioContainer(&#8220;A&#8221;).x);</p>
<p>		}<br />
	}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Release 0.7 &#171; Tuio Flash Blog</title>
		<link>http://bubblebird.at/tuioflash/2010/05/how-gestures-will-probably-work/comment-page-1/#comment-841</link>
		<dc:creator>Release 0.7 &#171; Tuio Flash Blog</dc:creator>
		<pubDate>Sun, 06 Jun 2010 20:50:43 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=182#comment-841</guid>
		<description>[...] Gestures based on native GestureEvents + a system to easily create new gestures (-&gt; have a look at this post which explains how it works). Currently a very simple rotate and scale gesture are [...]</description>
		<content:encoded><![CDATA[<p>[...] Gestures based on native GestureEvents + a system to easily create new gestures (-&gt; have a look at this post which explains how it works). Currently a very simple rotate and scale gesture are [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

