<?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: Little progress update</title>
	<atom:link href="http://bubblebird.at/tuioflash/2010/01/little-progress-update/feed/" rel="self" type="application/rss+xml" />
	<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/</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/01/little-progress-update/comment-page-1/#comment-153</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Tue, 09 Feb 2010 00:34:26 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-153</guid>
		<description>A UDPConnector is definitely planned and will probably be in the release after the upcoming one.</description>
		<content:encoded><![CDATA[<p>A UDPConnector is definitely planned and will probably be in the release after the upcoming one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-152</link>
		<dc:creator>Matt</dc:creator>
		<pubDate>Mon, 08 Feb 2010 23:16:36 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-152</guid>
		<description>Looking great!

Any plans to implement a UDPConnector using the DatagramSocket available in AIR 2?

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/net/DatagramSocket.html</description>
		<content:encoded><![CDATA[<p>Looking great!</p>
<p>Any plans to implement a UDPConnector using the DatagramSocket available in AIR 2?</p>
<p><a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/net/DatagramSocket.html" rel="nofollow">http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/flash/net/DatagramSocket.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-144</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Mon, 01 Feb 2010 18:49:12 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-144</guid>
		<description>xD I wonder how that happened, should be corrected now.</description>
		<content:encoded><![CDATA[<p>xD I wonder how that happened, should be corrected now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-143</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Mon, 01 Feb 2010 11:36:50 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-143</guid>
		<description>I see, I am new to the whole as3 thing.

Have a look at line 139 of TuioManger.as, some left comment parts produce an error over there ;-)</description>
		<content:encoded><![CDATA[<p>I see, I am new to the whole as3 thing.</p>
<p>Have a look at line 139 of TuioManger.as, some left comment parts produce an error over there <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-137</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Thu, 28 Jan 2010 17:58:20 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-137</guid>
		<description>Since there is no threading in as3 locking won&#039;t be necessary ;)
Thanks for the bugreport, I&#039;ll have a look at it.
edit: corrected but I removed the whole copied list part since it wasn&#039;t needed anyway.</description>
		<content:encoded><![CDATA[<p>Since there is no threading in as3 locking won&#8217;t be necessary <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Thanks for the bugreport, I&#8217;ll have a look at it.<br />
edit: corrected but I removed the whole copied list part since it wasn&#8217;t needed anyway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-133</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Thu, 28 Jan 2010 13:39:37 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-133</guid>
		<description>Hi there,

I&#039;ve tested the ignorelist and found the following bug at line187 in the removeFromIgnoreList() function:

listItem = ignoreList.pop();

has to be

listItem = ignoreListCopy.pop();

And I think the ignorelist has to locked somehow, so the functions addToIgnoreList() and removeFromIgnoreList() do not interfere.

Patrick</description>
		<content:encoded><![CDATA[<p>Hi there,</p>
<p>I&#8217;ve tested the ignorelist and found the following bug at line187 in the removeFromIgnoreList() function:</p>
<p>listItem = ignoreList.pop();</p>
<p>has to be</p>
<p>listItem = ignoreListCopy.pop();</p>
<p>And I think the ignorelist has to locked somehow, so the functions addToIgnoreList() and removeFromIgnoreList() do not interfere.</p>
<p>Patrick</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-127</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Sun, 24 Jan 2010 16:09:07 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-127</guid>
		<description>Glad you like the library ;) 
The problem with the touchfeedback circles is already known. This happens because as you already said those circles will always be on top of all the other DisplayObjects. My current solution is to just draw the outline of the touch circle which works pretty well. 
A more general solution will be available when I&#039;ve finished using only InteractiveObjects from the getObjectsUnderPoint() list since they have a property that states whether they are mouseEnabled or not which I will handle in the same way for dispatching TouchEvents.
But some kind of DisplayObject ignore list could be a good solution too.</description>
		<content:encoded><![CDATA[<p>Glad you like the library <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
The problem with the touchfeedback circles is already known. This happens because as you already said those circles will always be on top of all the other DisplayObjects. My current solution is to just draw the outline of the touch circle which works pretty well.<br />
A more general solution will be available when I&#8217;ve finished using only InteractiveObjects from the getObjectsUnderPoint() list since they have a property that states whether they are mouseEnabled or not which I will handle in the same way for dispatching TouchEvents.<br />
But some kind of DisplayObject ignore list could be a good solution too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-125</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Sat, 23 Jan 2010 20:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-125</guid>
		<description>The problem was to get the target at the touch position. The code in the TouiManager

var targets:Array =  stage.getObjectsUnderPoint(stagePos);

just returned an object of the type

org.papervision3d.view.layer.ViewportBaseLayer

In the meantime I found a solution by generating custom ViewportLayers for each object. These layers have a method getLayerObjects() to fetch the object itself. So I can currently add TouchEvent Listeners to the layer objects ;-)

But I have recognized another problem in the TuioManager. In my application I draw visual feedback (circle) for each curso at the cursors position. So, if I am correct, there will be always another object on top of the object a user want to manipulate in the application. This will happen every time you draw something at the cursor position and want to manipulate the underlying object.

I had to change the lines 54 and 69 of TuioManager.as to:

var target:DisplayObject = (targets.length &gt; 0) ? targets[targets.length-2] : stage;

and get the target at the position &quot;targets.length-2&quot; to get access to the applications object. IMO this part should be somehow configurable.

The handleRemove method works with the &quot;targets.length-1&quot; cause there is nothing to be drawn if the contact has been removed ;-)

It is really fun playing around with the TouchEvents in a 3D environment and I really appreciate your work.

Thanks and regards
Patrick</description>
		<content:encoded><![CDATA[<p>The problem was to get the target at the touch position. The code in the TouiManager</p>
<p>var targets:Array =  stage.getObjectsUnderPoint(stagePos);</p>
<p>just returned an object of the type</p>
<p>org.papervision3d.view.layer.ViewportBaseLayer</p>
<p>In the meantime I found a solution by generating custom ViewportLayers for each object. These layers have a method getLayerObjects() to fetch the object itself. So I can currently add TouchEvent Listeners to the layer objects <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>But I have recognized another problem in the TuioManager. In my application I draw visual feedback (circle) for each curso at the cursors position. So, if I am correct, there will be always another object on top of the object a user want to manipulate in the application. This will happen every time you draw something at the cursor position and want to manipulate the underlying object.</p>
<p>I had to change the lines 54 and 69 of TuioManager.as to:</p>
<p>var target:DisplayObject = (targets.length &gt; 0) ? targets[targets.length-2] : stage;</p>
<p>and get the target at the position &#8220;targets.length-2&#8243; to get access to the applications object. IMO this part should be somehow configurable.</p>
<p>The handleRemove method works with the &#8220;targets.length-1&#8243; cause there is nothing to be drawn if the contact has been removed <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>It is really fun playing around with the TouchEvents in a 3D environment and I really appreciate your work.</p>
<p>Thanks and regards<br />
Patrick</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gimmix</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-123</link>
		<dc:creator>gimmix</dc:creator>
		<pubDate>Fri, 22 Jan 2010 18:55:29 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-123</guid>
		<description>Hi, thx for posting the little guide ;)

What is your problem with the new TouchEvent and papervision? Basically the touch event should be dispatched on the top DisplayObject in the display list, though I&#039;ll probably change that to InteractiveOjects in the near future.

Maybe you could send me some example.</description>
		<content:encoded><![CDATA[<p>Hi, thx for posting the little guide <img src='http://bubblebird.at/tuioflash/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>What is your problem with the new TouchEvent and papervision? Basically the touch event should be dispatched on the top DisplayObject in the display list, though I&#8217;ll probably change that to InteractiveOjects in the near future.</p>
<p>Maybe you could send me some example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick</title>
		<link>http://bubblebird.at/tuioflash/2010/01/little-progress-update/comment-page-1/#comment-121</link>
		<dc:creator>Patrick</dc:creator>
		<pubDate>Fri, 22 Jan 2010 09:59:28 +0000</pubDate>
		<guid isPermaLink="false">http://bubblebird.at/tuioflash/?p=138#comment-121</guid>
		<description>Thanks for the updates. For you guys trying to get the new version to work try to initialize the manager like this:

// initalization of TuioManager
tuioClient = new TuioClient(new LCConnector());
tuioManager = new TuioManager(stage, tuioClient);

Add Eventlisteners for the type of contacts you want to process. In my example I only need cursors. So I added the following event listeners to the TuioManager instance: 

tuioManager.addEventListener(TuioEvent.ADD_CURSOR, onAddTuioCursor);
tuioManager.addEventListener(TuioEvent.UPDATE_CURSOR, onUpdateTuioCursor);
tuioManager.addEventListener(TuioEvent.REMOVE_CURSOR, onRemoveTuioCursor);

In the callback function you will get the event (instead of the cursor in the previous version when implementing the interface directly) and need to fetch the Tuio object from the tuioContainer:

public function onAddTuioCursor(tuioEvent:TuioEvent):void 
{
	// get the cursor
	var tuioCursor:TuioCursor = tuioEvent.tuioContainer as TuioCursor;
}

HTH, Patrick

PS: I am in a struggle getting this new version to work with papervision3d to make 3d objects clickable using the new TouchEvents. I appreciate any suggestion on this topic.</description>
		<content:encoded><![CDATA[<p>Thanks for the updates. For you guys trying to get the new version to work try to initialize the manager like this:</p>
<p>// initalization of TuioManager<br />
tuioClient = new TuioClient(new LCConnector());<br />
tuioManager = new TuioManager(stage, tuioClient);</p>
<p>Add Eventlisteners for the type of contacts you want to process. In my example I only need cursors. So I added the following event listeners to the TuioManager instance: </p>
<p>tuioManager.addEventListener(TuioEvent.ADD_CURSOR, onAddTuioCursor);<br />
tuioManager.addEventListener(TuioEvent.UPDATE_CURSOR, onUpdateTuioCursor);<br />
tuioManager.addEventListener(TuioEvent.REMOVE_CURSOR, onRemoveTuioCursor);</p>
<p>In the callback function you will get the event (instead of the cursor in the previous version when implementing the interface directly) and need to fetch the Tuio object from the tuioContainer:</p>
<p>public function onAddTuioCursor(tuioEvent:TuioEvent):void<br />
{<br />
	// get the cursor<br />
	var tuioCursor:TuioCursor = tuioEvent.tuioContainer as TuioCursor;<br />
}</p>
<p>HTH, Patrick</p>
<p>PS: I am in a struggle getting this new version to work with papervision3d to make 3d objects clickable using the new TouchEvents. I appreciate any suggestion on this topic.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

