<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ayars Animation</title>
	<atom:link href="http://www.ayarsanimation.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ayarsanimation.com</link>
	<description>(Children’s Interactive Storybooks)</description>
	<lastBuildDate>Mon, 06 Feb 2012 18:02:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Newest Cozmo Review!</title>
		<link>http://www.ayarsanimation.com/frankayars/newest-cozmo-review/</link>
		<comments>http://www.ayarsanimation.com/frankayars/newest-cozmo-review/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 02:27:26 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=449</guid>
		<description><![CDATA[We are very excited to share with you the newest review of Cozmo&#8217;s Day Off! http://www.chronicconsumer.com/2012/02/03/cozmos-day-off-interactive-storybook-for-ipad/]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-03-at-6.24.42-PM.png"><img class="aligncenter size-full wp-image-450" title="Screen shot 2012-02-03 at 6.24.42 PM" src="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-03-at-6.24.42-PM.png" alt="" width="384" height="66" /></a></p>
<p style="text-align: center;">We are very excited to share with you the newest review of Cozmo&#8217;s Day Off!</p>
<p style="text-align: center;">http://www.chronicconsumer.com/2012/02/03/cozmos-day-off-interactive-storybook-for-ipad/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/newest-cozmo-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find it Friday</title>
		<link>http://www.ayarsanimation.com/frankayars/find-it-friday/</link>
		<comments>http://www.ayarsanimation.com/frankayars/find-it-friday/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 16:58:54 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=445</guid>
		<description><![CDATA[We thought we would try something a little different and fun. On Fridays we are going to post a screenshot from one of our apps and see if you can identify it. Kind of like I Spy! So here we go&#8230;. We&#8217;ll start off the first week with an easy one! Can you tell us [...]]]></description>
			<content:encoded><![CDATA[<p>We thought we would try something a little different and fun. On Fridays we are going to post a screenshot from one of our apps and see if you can identify it. Kind of like I Spy! So here we go&#8230;. We&#8217;ll start off the first week with an easy one! Can you tell us which app and which page this image is from? (p.s. The answer will be posted on Monday, if not discovered before then.)</p>
<p>&nbsp;</p>
<p><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-03-at-8.50.03-AM.png"><img class="aligncenter size-full wp-image-446" title="Screen shot 2012-02-03 at 8.50.03 AM" src="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-03-at-8.50.03-AM.png" alt="" width="224" height="216" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/find-it-friday/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Website Wednesday:App Advice</title>
		<link>http://www.ayarsanimation.com/frankayars/website-wednesdayapp-advice/</link>
		<comments>http://www.ayarsanimation.com/frankayars/website-wednesdayapp-advice/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 20:07:32 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=437</guid>
		<description><![CDATA[Just one of the many great app sites out there, App Advice is definitely not one to miss. Their interface is very easy to navigate and pleasant to the eyes. Everything is clearly labeled and organized, a plus for those new to any site. Their reviews are very detailed and helpful, with great screen shots [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-01-at-12.05.35-PM.png"><img class="aligncenter size-medium wp-image-439" title="Screen shot 2012-02-01 at 12.05.35 PM" src="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-01-at-12.05.35-PM-300x87.png" alt="" width="300" height="87" /></a></p>
<p><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/02/Screen-shot-2012-02-01-at-12.05.35-PM.png"></a>Just one of the many great app sites out there, App Advice is definitely not one to miss. Their interface is very easy to navigate and pleasant to the eyes. Everything is clearly labeled and organized, a plus for those new to any site. Their reviews are very detailed and helpful, with great screen shots from each app. Besides having app reviews, they also have App Lists, App Guides, and App Charts. So, if you are looking for a site that will help you narrow down your app choices, this is assuredly one to visit.</p>
<p>http://appadvice.com/appnn</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/website-wednesdayapp-advice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress!</title>
		<link>http://www.ayarsanimation.com/frankayars/progress/</link>
		<comments>http://www.ayarsanimation.com/frankayars/progress/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 02:13:11 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=428</guid>
		<description><![CDATA[Page two of Snow White has just finished being illustrated and is now off to the programer&#8217;s desk for animation and implementation.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/01/Final_Image3.jpg"><img class="size-medium wp-image-434 aligncenter" title="Final_Image" src="http://www.ayarsanimation.com/wp-content/uploads/2012/01/Final_Image3-297x300.jpg" alt="" width="297" height="300" /></a></p>
<p style="text-align: center;"><a href="http://www.ayarsanimation.com/wp-content/uploads/2012/01/Final_Image3.jpg"></a>Page two of Snow White has just finished being illustrated and is now off to the programer&#8217;s desk for animation and implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Monster at the End of This Book &#8211; Sesame Street</title>
		<link>http://www.ayarsanimation.com/frankayars/the-monster-at-the-end-of-this-book-sesame-street/</link>
		<comments>http://www.ayarsanimation.com/frankayars/the-monster-at-the-end-of-this-book-sesame-street/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:35:51 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=384</guid>
		<description><![CDATA[Please don&#8217;t finish this review&#8230;there&#8217;s a monster at the end of this page! The Monster at the End of this Book stars Grover; a furry, and well-known monster *ahem*. In the book Grover begs children not to turn the page, because there is a monster at the end of the book! Cute cartoon-style, read-along speech [...]]]></description>
			<content:encoded><![CDATA[<p>Please don&#8217;t finish this review&#8230;there&#8217;s a monster at the end of this page!</p>
<p>The Monster at the End of this Book stars Grover; a furry, and well-known monster *ahem*. In the book Grover begs children not to turn the page, because there is a monster at the end of the book! Cute cartoon-style, read-along speech bubbles catch the eye, while we enjoy constantly thwarting Grover&#8217;s attempts to keep us from turning the page. Cute pictures, nice interactive pages, and an unanticipated and delightful ending. Enjoyable.</p>
<p>-Review by Emma Ayars</p>
<p>Dad&#8217;s Note&#8230;<br />
Great review Emma, but I&#8217;ve got to add one thing. This app is different than any other book app on the market (that I&#8217;ve found). Grover thoroughly engages his audience. Children (and adults) believe they interacting with a live character and it&#8217;s absolutely fun. Grover is so convincing that one review stated that their child was actually afraid to turn the pages of the book because, of course, Grover to told him not to do so! Great job on this terrific app.</p>
<p>Check it out!<br />
<a href="http://click.linksynergy.com/fs-bin/stat?id=lL/eswbOR4k&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fthe-monster-at-end-this-book%252Fid409467802%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store"><img src="http://www.callaway.com/cgi/db_images/slideshow_images/cache/51-image-394-296-crop.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/the-monster-at-the-end-of-this-book-sesame-street/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Magic School Bus: Oceans</title>
		<link>http://www.ayarsanimation.com/frankayars/the-magic-school-bus-oceans/</link>
		<comments>http://www.ayarsanimation.com/frankayars/the-magic-school-bus-oceans/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 16:04:21 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=345</guid>
		<description><![CDATA[Ms. Frizzle and her Magic School Bus take a tour of the ocean in this entertaining app. Occasional interactions with informative videos and facts, this is a very educational app, and one that would do well in a schoolroom. The games are fun, the schoolchildren always add in funny little comments, and while the app [...]]]></description>
			<content:encoded><![CDATA[<p>Ms. Frizzle and her Magic School Bus take a tour of the ocean in this entertaining app. Occasional interactions with informative videos and facts, this is a very educational app, and one that would do well in a schoolroom. The games are fun, the schoolchildren always add in funny little comments, and while the app is geared towards elementary age children, the videos and pictures of sea creatures are fascinating for all ages. One thing I didn&#8217;t understand was the &#8220;touch&amp;tilt on every page&#8221; they proudly proclaimed at the beginning of the book. While it is true that there is something to touch on every page, I failed to find any instance in which I could tilt the iPad and have some effect on the page. Although this was a disappointment, the rest of the app was fairly entertaining and extremely interesting.</p>
<p>-Review by Emma Ayars</p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=lL/eswbOR4k&amp;offerid=146261&amp;type=3&amp;subid=0&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Fapp%252Fthe-magic-school-bus-oceans%252Fid410622343%253Fmt%253D8%2526uo%253D4%2526partnerId%253D30" target="itunes_store">The Magic School Bus: Oceans</a></p>
<p>&nbsp;</p>
<p><object width="420" height="345"><param name="movie" value="http://www.youtube.com/v/s2n-_Itbuvs?version=3&amp;hl=en_US" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="420" height="345" src="http://www.youtube.com/v/s2n-_Itbuvs?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/the-magic-school-bus-oceans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eBook Review: The Fantastic Flying Books of Mr. Morris Lessmore</title>
		<link>http://www.ayarsanimation.com/frankayars/ebook-review-the-fantastic-flying-books-of-mr-morris-lessmore/</link>
		<comments>http://www.ayarsanimation.com/frankayars/ebook-review-the-fantastic-flying-books-of-mr-morris-lessmore/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 16:35:07 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=331</guid>
		<description><![CDATA[Hello! My name is Frank Ayars and if you have read our About page you will know that this is a family based business. My daughter Emma (14) is a voracious reader and writer. In fact, it is often that we have to pull her away in order to join the &#8216;real&#8217; world. So, I [...]]]></description>
			<content:encoded><![CDATA[<p>Hello! My name is Frank Ayars and if you have read our <a href="http://www.ayarsanimation.com/about">About</a> page you will know that this is a family based business. My daughter Emma (14) is a voracious reader and writer. In fact, it is often that we have to pull her away in order to join the &#8216;real&#8217; world. So, I thought it would be wonderful fit for her to take over this blog. The idea is like this. Every week or so, we will pick one of the top applications in the book section of the iTunes store. Emma will review that application and provide her two cents right here.</p>
<p>Last week, <a href="http://click.linksynergy.com/fs-bin/click?id=lL/eswbOR4k&amp;offerid=146261.438052647&amp;type=2&amp;subid=0">The Fantastic Flying Books of Mr. Morris Lessmore</a><img src="http://ad.linksynergy.com/fs-bin/show?id=lL/eswbOR4k&amp;bids=146261.438052647&amp;type=2&amp;subid=0" border="0" alt="" width="1" height="1" /> was the top application in the books category and it will be Emma&#8217;s first review. Here it is!</p>
<p><a href="http://click.linksynergy.com/fs-bin/click?id=lL/eswbOR4k&amp;offerid=146261.438052647&amp;type=2&amp;subid=0"><img src="http://a1472.phobos.apple.com/us/r1000/015/Purple/1a/a1/3d/mzi.nsqapexk.png" border="0" alt="" /></a><img src="http://ad.linksynergy.com/fs-bin/show?id=lL/eswbOR4k&amp;bids=146261.438052647&amp;type=2&amp;subid=0" border="0" alt="" width="1" height="1" /></p>
<p><a href="http://click.linksynergy.com/fs-bin/click?id=lL/eswbOR4k&amp;offerid=146261.438052647&amp;type=2&amp;subid=0">The Fantastic Flying Books of Mr. Morris Lessmore</a><img src="http://ad.linksynergy.com/fs-bin/show?id=lL/eswbOR4k&amp;bids=146261.438052647&amp;type=2&amp;subid=0" border="0" alt="" width="1" height="1" />, an interactive storybook for the iPad, is a delightful app. The beautiful animation and one or two interactions on each page keep the young reader entertained, while the poignant storyline appeals to young and old alike. Readers who enjoy UP will find the same sweet and satisfying story in Morris Lessmore.</p>
<p>&#8211;Review by Emma Ayars</p>
<p><object width="100%" height="349"><param name="movie" value="http://www.youtube.com/v/z38EdtRHlnA?version=3&amp;hl=en_US" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="100%" height="349" src="http://www.youtube.com/v/z38EdtRHlnA?version=3&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/ebook-review-the-fantastic-flying-books-of-mr-morris-lessmore/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>iOS Performance Best Practices</title>
		<link>http://www.ayarsanimation.com/frankayars/ios-performance-best-practices/</link>
		<comments>http://www.ayarsanimation.com/frankayars/ios-performance-best-practices/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 18:23:04 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=227</guid>
		<description><![CDATA[We are coming down the home stretch for completing &#8216;Cozmo&#8217;s Day Off&#8217;. There are several features that were to be deferred for our next application that we just couldn&#8217;t help put into this application &#8211; so there are A LOT of cool features! But that also means that we significantly delayed our release date. But, [...]]]></description>
			<content:encoded><![CDATA[<p>We are coming down the home stretch for completing &#8216;Cozmo&#8217;s Day Off&#8217;. There are several features that were to be deferred for our next application that we just couldn&#8217;t help put into this application &#8211; so there are A LOT of cool features! But that also means that we significantly delayed our release date. But, this blog entry isn&#8217;t about that! It&#8217;s about iOS Performance Best Practices. Why that? Well, in the heat of development a lot of information can get lost &#8211; especially as the teams begin to expand.  Unless the knowledge is written down, placed in a location that is accessible, and indexed &#8211; that information will have only served an immediate need and not the long term needs of your organization. That is expensive and can cost dearly in the quality of the work that is produced. So, even though we are above our heads in production, we are taking steps to retain our knowledge. One step we have taken is to draft an &#8216;iOS Performance Best Practice&#8217; document. Although the document is light at the moment, it contains information that covers hundreds of hours of development time. The document will grow and will be updated periodically. We believe that much of this information will be useful to others outside of our organization and can be accessed using the following link.</p>
<p><a href='http://www.ayarsanimation.com/wp-content/uploads/2010/10/Ayars-Animation-iOS-Performance-Best-Practices2.pdf'>Ayars Animation iOS Performance Best Practices</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/ios-performance-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sneak Peak: Cozmo&#8217;s Day Off</title>
		<link>http://www.ayarsanimation.com/frankayars/sneak-peak-cozmos-day-off/</link>
		<comments>http://www.ayarsanimation.com/frankayars/sneak-peak-cozmos-day-off/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 00:05:18 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=220</guid>
		<description><![CDATA[Here&#8217;s a short video that gives a behind the scenes look at one of the interactivities we are incorporating into our next project, &#8216;Cozmo&#8217;s Day Off&#8217;]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a short video that gives a behind the scenes look at one of the interactivities we are incorporating into our next project, &#8216;Cozmo&#8217;s Day Off&#8217;</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/cCV0VQfWUtM&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/cCV0VQfWUtM&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/sneak-peak-cozmos-day-off/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chipmunk</title>
		<link>http://www.ayarsanimation.com/frankayars/chipmunk/</link>
		<comments>http://www.ayarsanimation.com/frankayars/chipmunk/#comments</comments>
		<pubDate>Thu, 27 May 2010 03:38:07 +0000</pubDate>
		<dc:creator>frank</dc:creator>
				<category><![CDATA[Frank Ayars Blog]]></category>

		<guid isPermaLink="false">http://www.ayarsanimation.com/?p=205</guid>
		<description><![CDATA[I&#8217;ve been playing with Chipmunk today. Huh? Yep, Chipmunk. No, not the furry cute little critter. Chipmunk the 2D dynamics engine. I don&#8217;t know, maybe it&#8217;s just me and the rest of the software engineering community, but when you put &#8216;engine&#8217; after the something it just sounds killer. Well, this is a  pretty killer engine. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing with Chipmunk today. Huh? Yep, Chipmunk. No, not the furry cute little critter. Chipmunk the 2D dynamics engine. I don&#8217;t know, maybe it&#8217;s just me and the rest of the software engineering community, but when you put &#8216;engine&#8217; after the something it just sounds killer. Well, this is a  pretty killer engine. I&#8217;ll warn you in advance that this blog entry is technical, but at least stick around long enough to watch the cool video below.</p>
<p>I can&#8217;t help but go to the technical side on this one. I saw that the &#8216;Alice for the iPad&#8217; used the Chipmunk 2D dynamics engine and I&#8217;ve been wanting to see what it&#8217;s all about. I&#8217;m not fond of using third party code or libraries for a number of reasons (namely legal and support), but I thought I&#8217;d just check this one out and I really liked it. Whether or not it makes it into our production code, I definitely had a good time playing around with it. In the video below, I took a rough image of upcoming character Cozmo and put him into a Chipmunk sample. Check it out&#8230;</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/JaNs6_mErt0&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/JaNs6_mErt0&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Isn&#8217;t that incredible! Well, for me it is. Sadly, this is the type of thing that gets me up early and gets me to bed late. I just love it!</p>
<p>Now for the technical part. This is for those that were googling something like &#8216;Chipmunk sprite&#8217; or &#8216;Chipmunk UIImageView&#8217;. So, for those that would like to use Chipmunk with sprites, but aren&#8217;t quite prepared for an OpenGL driven project, you may have landed at the right spot. What I&#8217;m about to demonstrate is the ability to use the ultra simple and well performing Chipmunk API (Good job guys at Howling Moon and Erin Catto) and the UIImageView class to create very dynamic sprites! Now, I&#8217;ll be the first to admit that I am not the brightest light in the room, especially when it comes to mathematics. So, if you see something here that could use some improvement &#8211; first, your probably right, second, show me the way &#8211; I&#8217;d love that!</p>
<p>Below, I have posted all of the germane code. For simplicity I placed everything into the view controller. I have not included the self generated delegate code or anything like that. This code is a modification of the tumble demo that comes with the Chipmunk download. What I want to point out right now is few lines of code that took me a bit of time, but they were very effective for using the UIView and its derivatives (UIImageView for instance) as sprites in conjunction with the Chipmunk API.</p>
<p>The gist of the code is to move from the Cocoa coordinate system (origin at top left corner of View and and positive y-axis moving toward bottom) to the Chipmunk coordinate system (origin at center of parent view and negative y-axis moving toward bottom). This is accomplished by using four transformations (3 translations and 1 rotation). The code is commented in line with a brief explanation of each transformation.</p>
<div style="margin: 20px; margin-top: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">Code:</div>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 100%; text-align: left;" dir="ltr">-(void)renderViewInSpace:(UIView*)view atPos:(cpVect)atPos withRotAngleInRadians:(cpFloat)withRotAngleInRadians
{
     view.transform = CGAffineTransformIdentity;
     //translate to the center of the main view. this is the first step to simulate the chipmunk coordinate system
     view.transform = CGAffineTransformTranslate(view.transform, self.view.bounds.size.width/2.0, self.view.bounds.size.height/2.0);
     //tanslate to position, inversing the y-coordinate
     view.transform = CGAffineTransformTranslate(view.transform, atPos.x, -atPos.y);
     //translate the y position so that we render at top-left and not center
     view.transform = CGAffineTransformTranslate(view.transform, -view.bounds.size.width/2, -view.bounds.size.height/2);
     //rotate, but since we inversed the y-axis, inverse the rotation
     view.transform = CGAffineTransformRotate(view.transform, -withRotAngleInRadians);
}</pre>
</div>
<p>If you actually do use the code, you will need to download the Objective-Chipmunk library and follow their instructions for building the project. Note that I went the route of using the static library and including header files. It worked perfectly.</p>
<p>So, if you came here by googling and found what you were looking for &#8211; awesome! And may your endeavor succeed magnanimously <img src='http://www.ayarsanimation.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here&#8217;s the view controller code&#8230;</p>
<div style="margin: 20px; margin-top: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">BounceViewController.h:</div>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 100%; text-align: left;" dir="ltr">#import "ObjectiveChipmunk.h"

#define GRABABLE_MASK_BIT (1&lt;&lt;31)
#define NOT_GRABABLE_MASK (~GRABABLE_MASK_BIT)

@interface BounceViewController : UIViewController
{
    NSMutableArray *shapes;
    UIView *boxView;

    ChipmunkSpace *space;
    ChipmunkBody *box;
    double timeStep;
}

-(void)setupSpace;
-(void)update;
-(void)renderViewInSpace:(UIView*)view atPos:(cpVect)atPos withRotAngleInRadians:(cpFloat)withRotAngleInRadians;

@end</pre>
</div>
<div style="margin: 20px; margin-top: 5px;">
<div class="smallfont" style="margin-bottom: 2px;">BounceViewController.m:</div>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 100%; text-align: left;" dir="ltr">#import "BounceViewController.h"

@implementation BounceViewController

- (void)dealloc
{
    [box release];
    [space release];
    [shapes release];
    [boxView release];

    [super dealloc];
}

- (void)viewDidLoad
{
    cpInitChipmunk();

    [self setupSpace];
    [NSTimer scheduledTimerWithTimeInterval:1.0/60.0 target:self selector:@selector(update) userInfo:nil repeats:YES];

    [super viewDidLoad];
}

-(void)update
{
    cpBodyUpdatePosition(box.body, timeStep);
    [space step:timeStep];

    [self renderViewInSpace:boxView atPos:box.pos withRotAngleInRadians:box.angle];

    for(int i=0; i&lt;shapes.count; i++)
    {
        ChipmunkSegmentShape *shape = [shapes objectAtIndex:i];
        UIImageView* imageView = (UIImageView*)shape.data;
        [self renderViewInSpace:imageView atPos:shape.body.pos withRotAngleInRadians:shape.body.angle];
    }
}

-(void)renderViewInSpace:(UIView*)view atPos:(cpVect)atPos withRotAngleInRadians:(cpFloat)withRotAngleInRadians
{
    view.transform = CGAffineTransformIdentity;
    //translate to the center of the main view. this is the first step to simulate the chipmunk coordinate system
    view.transform = CGAffineTransformTranslate(view.transform, self.view.bounds.size.width/2.0, self.view.bounds.size.height/2.0);
    //tanslate to position, inversing the y-coordinate
    view.transform = CGAffineTransformTranslate(view.transform, atPos.x, -atPos.y);
    //translate the y position so that we render at top-left and not center
    view.transform = CGAffineTransformTranslate(view.transform, -view.bounds.size.width/2, -view.bounds.size.height/2);
    //rotate, but since we inversed the y-axis, inverse the rotation
    view.transform = CGAffineTransformRotate(view.transform, -withRotAngleInRadians);
}

-(void)setupSpace
{
    timeStep = 1.0/60.0;

    space = [[ChipmunkSpace alloc] init];
    space.gravity = cpv(0.0, -600.0);

    ChipmunkBody *body;
    ChipmunkShape *shape;

    box = [[ChipmunkBody alloc] initStaticBody];
    box.angVel = 0.4;

    boxView = [[UIView alloc] init];

    // Set up the static box.
    cpFloat boxWidth = 600.0;
    cpFloat boxHeight = 600.0;

    cpVect a = cpv(-boxWidth/2, -boxHeight/2);
    cpVect b = cpv(-boxWidth/2,  boxHeight/2);
    cpVect c = cpv( boxWidth/2,  boxHeight/2);
    cpVect d = cpv( boxWidth/2, -boxHeight/2);

    shape = [space add:[ChipmunkSegmentShape segmentWithBody:box from:a to:b radius:0.0]];
    shape.elasticity = 1.0; shape.friction = 1.0;
    shape.layers = NOT_GRABABLE_MASK;

    shape = [space add:[ChipmunkSegmentShape segmentWithBody:box from:b to:c radius:0.0]];
    shape.elasticity = 1.0; shape.friction = 1.0;
    shape.layers = NOT_GRABABLE_MASK;

    shape = [space add:[ChipmunkSegmentShape segmentWithBody:box from:c to:d radius:0.0]];
    shape.elasticity = 1.0; shape.friction = 1.0;
    shape.layers = NOT_GRABABLE_MASK;

    shape = [space add:[ChipmunkSegmentShape segmentWithBody:box from:d to:a radius:0.0]];
    shape.elasticity = 1.0; shape.friction = 1.0;
    shape.layers = NOT_GRABABLE_MASK;

    boxView.frame = CGRectMake(0, 0, boxWidth, boxHeight);

    boxView.backgroundColor = [UIColor blueColor];
    [self.view addSubview:boxView];

    if(shapes == NULL)
    {
        shapes = [[NSMutableArray alloc] init];
    }

    // Add the bricks.
    for(int i=0; i&lt;3; i++)
    {
        for(int j=0; j&lt;7; j++)
        {
            cpFloat width = 200.0/4;
            cpFloat height = 340.0/4;

            body = [space add:[ChipmunkBody bodyWithMass:1.0 andMoment:cpMomentForBox(1.0, width, height)]];
            body.pos = cpv( (boxWidth/2)-(i*width)-(width/2), (boxHeight/2)-(j*height)-(height/2));
            shape = [space add:[ChipmunkPolyShape boxWithBody:body width:width height:height]];
            shape.elasticity = 0.0; shape.friction = 1.0;

            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Cozmo.png"]];
            imageView.contentMode = UIViewContentModeScaleAspectFill;
            imageView.clipsToBounds = TRUE;
            imageView.frame = CGRectMake(0, 0, width, height);
            [self.view addSubview:imageView];
            shape.data = imageView;
            [shapes addObject:shape];
        }
    }
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload
{
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

@end</pre>
</div>
<h2>References</h2>
<p><a href="http://howlingmoonsoftware.com/objectiveChipmunk.php">Objective Chipmunk</a><br />
<a href="http://code.google.com/p/chipmunk-physics/">Download Chipmunk</a><br />
<a href="http://code.google.com/p/box2d/">Box2D by Erin Catto</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ayarsanimation.com/frankayars/chipmunk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

