<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>abitofcode</title>
	
	<link>http://abitofcode.com</link>
	<description />
	<lastBuildDate>Fri, 11 May 2012 18:14:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/abitofcode/JoZG" /><feedburner:info uri="abitofcode/jozg" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Cocos2d – Getting started</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/KwayZjhkvB8/</link>
		<comments>http://abitofcode.com/2012/05/cocos2d-getting-started/#comments</comments>
		<pubDate>Wed, 09 May 2012 16:22:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[app]]></category>
		<category><![CDATA[Cocos2d]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[cocos2d]]></category>
		<category><![CDATA[cocos2dx]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[screencast]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=842</guid>
		<description><![CDATA[The following is a list of links and resources that should make finding your way around Cocos2d a little easier, it&#8217;s not a comprehensive list but hopefully you may find something useful. Beware of older code examples and tutorials when &#8230; <a href="http://abitofcode.com/2012/05/cocos2d-getting-started/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://abitofcode.com/wp-content/uploads/2012/05/cocos2dlogo.jpg"><img src="http://abitofcode.com/wp-content/uploads/2012/05/cocos2dlogo.jpg" alt="" title="cocos2dlogo" width="170" height="250" class="alignright size-full wp-image-927" /></a><br />
The following is a list of links and resources that should make finding your way around Cocos2d a little easier, it&#8217;s not a comprehensive list but hopefully you may find something useful.<br />
Beware of older code examples and tutorials when looking for help, a lot changed between Cocos2d v0.82 and v1.0 including the names of a lot of the framework methods. </p>
<p>The simplest way to find which version a project is using is to open up the cocos2d.m file and look for the version string</p>

<div class="wp_codebox"><table><tr id="p8422"><td class="code" id="p842code2"><pre class="objc" style="font-family:monospace;"><span style="color: #a61390;">static</span> <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>version <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;cocos2d v1.1.0-beta2b&quot;</span>;</pre></td></tr></table></div>

<p>IMHO the best way to get into Cocos2d is to build something with it. Don&#8217;t look at the resources below as something you have to finish before you begin or you&#8217;ll never get started <img src='http://abitofcode.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In no particular order;<br />
<span id="more-842"></span></p>
<h2>1. Cocos2d API reference</h2>
<p>Until recently I Integrated the cocos2d API reference into XCode using the approach <a href="http://www.cocos2d-iphone.org/archives/358">detailed here</a>. As soon as you get past 3 Doc sets in Xcode however, life becomes exponentially slower. I was really happy to find <a href="http://itunes.apple.com/gb/app/dash-docs-snippets/id458034879?mt=12">Dash</a> recently which not only gives me a fast search into the cocos2d API but also makes snippets available via abbreviations and allows placeholders. The developer of <a href="http://itunes.apple.com/gb/app/dash-docs-snippets/id458034879?mt=12">Dash</a> has indicated that there will be a browse feature in the coming update.<br />
Install via the Mac App store (currently free) then select Cocos2d in Preferences > Docsets.<br />
<div id="attachment_852" class="wp-caption aligncenter" style="width: 810px"><a href="http://itunes.apple.com/gb/app/dash-docs-snippets/id458034879?mt=12"><img src="http://abitofcode.com/wp-content/uploads/2012/05/2012-05-08_Dash.jpg" alt="" title="2012-05-08_Dash" width="800" height="483" class="size-full wp-image-852" /></a><p class="wp-caption-text">Dash - Quick just like Xcode isn&#039;t</p></div></p>
<h2>2. Books</h2>
<p>There are some great Cocos2d books out there now, the following are personal favorites in no particular order;</p>
<p><strong><a href="http://www.amazon.co.uk/gp/product/0321735625/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=0321735625">Learning Cocos2D: A Hands-on Guide to Building IOSGames with Cocos2D, Box2D, and Chipmunk (Addison-Wesley Learning Series)</a></strong><br />
By Rod Strougo and Ray Wenderlich<br />
<a href="http://www.amazon.co.uk/gp/product/0321735625/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=0321735625"><img border="0" style="float:right" src="http://ws.assoc-amazon.co.uk/widgets/q?_encoding=UTF8&#038;Format=_SL110_&#038;ASIN=0321735625&#038;MarketPlace=GB&#038;ID=AsinImage&#038;WS=1&#038;tag=abitofcodecom-21&#038;ServiceVersion=20070822" ></a><br />
Comprehensive coverage of the Cocos2d framework, also covers the Box2d and Chipmunk physics engines and Game Center integration. The book walks the user through the development of a game &#8216;Space Viking&#8217; that contains mini games each using a different aspect of the framework. There&#8217;s also a nice Chapter on performance optimizations towards the end that should save you a bit of time trawling through the forums if your frame rate starts dropping.</p>
<p><strong><a href="http://www.amazon.co.uk/gp/product/1849514003/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=1849514003">Cocos2d for iPhone 1 Game Development Cookbook</a></strong><br />
By Nathan Burba<br />
<a href="http://www.amazon.co.uk/gp/product/1849514003/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=1849514003"><img border="0" style="float:right" src="http://ws.assoc-amazon.co.uk/widgets/q?_encoding=UTF8&#038;Format=_SL110_&#038;ASIN=1849514003&#038;MarketPlace=GB&#038;ID=AsinImage&#038;WS=1&#038;tag=abitofcodecom-21&#038;ServiceVersion=20070822" ></a><br />
I&#8217;m a big fan of the Cookbook approach, I take a similar approach when experimenting. Great for the Inquisitive/Intermediate programmer and covers a wide variety of techniques. For further detail check out Nathans site <a href="http://cocos2dcookbook.com/">http://cocos2dcookbook.com/</a> which has videos detailing the techniques covered in the book. </p>
<p><strong><a href="http://www.amazon.co.uk/gp/product/B006CO7ZQ0/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=B006CO7ZQ0">Learn cocos2d Game Development with iOS 5 (Learn Apress) [Kindle Edition]</a></strong><br />
By Steffen Itterheim<br />
<a href="http://www.amazon.co.uk/gp/product/B006CO7ZQ0/ref=as_li_qf_sp_asin_il?ie=UTF8&#038;tag=abitofcodecom-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=B006CO7ZQ0"><img border="0" style="float:right" src="http://ws.assoc-amazon.co.uk/widgets/q?_encoding=UTF8&#038;Format=_SL110_&#038;ASIN=B006CO7ZQ0&#038;MarketPlace=GB&#038;ID=AsinImage&#038;WS=1&#038;tag=abitofcodecom-21&#038;ServiceVersion=20070822" ></a><br />
Quick disclaimer &#8211; I don&#8217;t have the latest version (this is a Kindle version) I have the version <a href="http://www.amazon.co.uk/gp/product/1430233036">here</a> which is now a little out of date. This was the first book to fill the Cocos2d book void and takes you through the development of several increasingly complex games. It&#8217;s aimed at the beginner games programmer but there are plenty of tips and suggestions that should benefit the majority of cocos2d developers.</p>
<h2>3. Download Cocos2d and have a look at the Tests</h2>
<p>There are plenty of tutorials out there describing how to download Cocos2d and install the templates into XCode, not all of them make it clear that the downloaded folder also contains a tests folder with code demonstrating each of Cocos2d&#8217;s main features. The code isn&#8217;t the easiest code to read, these are tests rather than tutorials but they should give you an idea of what Cocos2D can do. Just open cocos2d-ios.xcodeproj in Xcode and select the test to build.</p>
<p>Some of these tests can be seen running in this youtube offering from 2009</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='620' height='379' src='http://www.youtube.com/embed/JjDTpWFl2kA?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span></p>
<h2>4. Screencasts</h2>
<p>If video is your preferred means of learning the following may help you avoid trawling through YouTube.</p>
<p><strong>Bob Ueland&#8217;s Cocos2d tutorials</strong><br />
<a href="http://bobueland.com/cocos2d/tutorials/">http://bobueland.com/cocos2d/tutorials/</a></p>
<p><a href="https://twitter.com/uelandbob" target="_blank">Bob</a> has a great set of free screencasts covering a broad spectrum of the Cocos2d framework. If touches, animations and Node spaces are causing you issues then this would be the first place I would suggest looking. The screencasts are short but focused and Bob&#8217;s style is naturally clear and to the point.<br />
For anyone wanting a project walkthrough in the same style, <a href="https://twitter.com/uelandbob" target="_blank">Bob</a> now has a <a href="http://bobueland.com/cocos2d/cocos2d-course/">paid course</a> that takes you through the development of a shoot-em-up game complete with end of level Boss fight named &#8216;<a href="http://bobueland.com/cocos2d/cocos2d-course/">Galaxy Fighter</a>&#8216;. This is a great introduction to writing/structuring your own game.</p>
<p><strong>LearnCocosTV by Steffen Itterheim </strong><br />
<a href="http://itunes.apple.com/gb/podcast/learncocostv/id510149983">iTunes</a> <a href="http://www.youtube.com/user/LearnCocos2D">YouTube</a><br />
Covers Cocos2d and Steffens Project <a href="http://www.kobold2d.com/">Kobold2d</a> (built upon cocos2d). The first special covered <a href="http://www.youtube.com/watch?feature=player_embedded&#038;v=kYIMofmWgX8">Enabling ARC in a Cocos2D project</a>.</p>
<p><strong>Learning Cocos2d Development by AzamSharp</strong><br />
<a href="http://www.youtube.com/playlist?list=PL3D5A9CF48EDF6ED3">YouTube</a><br />
A collection of short video tutorials introducing you to various aspects of Cocos2D.</p>
<p><strong>Paulson Apps</strong><br />
<a href="http://vimeo.com/user3292522">Vimeo</a> <a href="http://www.youtube.com/user/paulsondev?feature=watch">YouTube</a><br />
Interesting set of videos following the development of a game in cocos2d with some tutorials along the way. </p>
<p><strong>iPad and iPhone Application Development (HD) &#8211; by Paul Hegarty</strong><br />
<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=473757255">iTunes</a><br />
Though not a Cocos2D resource this is the daddy of iOS screenCasts. Great coverage of iPhone development with ObjectiveC and UIKit.</p>
<h2>5. Websites and Blogs</h2>
<p><strong>Cocos2D for iPhone</strong><br />
<a href="http://www.cocos2d-iphone.org/" target="_blank">http://www.cocos2d-iphone.org/</a><br />
The home of Cocos2D for iPhone, the place to download it, show your final results, take part in the forum and find documentation.</p>
<p>The <a href="http://www.cocos2d-iphone.org/wiki/doku.php/" target="_blank">documentation</a> is in the form of a <a href="http://www.cocos2d-iphone.org/wiki/doku.php/" target="_blank">wiki</a> and contains a lot of useful resources including;</p>
<p>* Best practices<br />
* Programming guide<br />
* Migration guide<br />
* Tips/Tricks<br />
* Sample games<br />
* The logos<br />
* Release notes<br />
* Performance tests<br />
* Templates<br />
* CocosDenshion Audio library cookbook</p>
<p><strong>RayWenderlich.com</strong><br />
<a href="http://www.raywenderlich.com" target="_blank">http://www.raywenderlich.com</a><br />
A great site for well researched and written Cocos2d and iOS tutorials. It&#8217;s grown from <a href="https://twitter.com/rwenderlich" target="_blank">Ray&#8217;s</a> one man blog to a full team of well seasoned iOS developers pushing tutorials out at an alarming rate. I tend to look here before searching the apple documentation <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A quick look through the <a href="http://www.raywenderlich.com/tutorials" target="_blank">tutorials</a> link should provide a selection of Cocos2d tutorials for all abilities.<br />
The site has it&#8217;s own forum for questions/discussions around the articles and there is a regular vote to determine the subject of the next article.</p>
<p><strong>Learn Cocos2d by Steffen Itterheim</strong><br />
<a href="http://www.learn-cocos2d.com" target="_blank">http://www.learn-cocos2d.com</a><br />
Some really useful stuff on this site by Steffen, have a look through the <a href="http://www.learn-cocos2d.com/blog/" target="_blank">blog</a> for some great articles covering both Cocos2D and game development. Steffen is pretty thorough so whether the subject is piracy, enabling ARC or CCArray performance tests you should get something out of it.</p>
<p><strong>Abitofcode</strong><br />
<a href="http://www.abitofcode.com" target="_blank">http://www.abitofcode.com</a><br />
Doesn&#8217;t post as regularly as most sites, but tries to cover the odd technique that may not get featured elsewhere, the cocos2d specific articles can be found <a href="http://abitofcode.com/category/cocos2d/" target="_blank">here</a>. </p>
<h2>6. Podcast</h2>
<p>There&#8217;s a great Cocos2d podcast By <a href="https://twitter.com/azamsharp" target="_blank">Mohammad Azam </a> &#038; <a href="https://twitter.com/gaminghorror" target="_blank">Steffen Itterheim</a> that focuses on the framework and the people in and around the Cocos2d community. Recent podcasts can be accessed <a href="http://itunes.apple.com/us/podcast//id433503418">via iTunes</a>, for the full back catalogue check out their <a href="http://cocos2dpodcast.wordpress.com/">blog here</a>.</p>
<h2>7. Twitter</h2>
<p>Another way to keep up to date with what&#8217;s going on is to follow people who tweet about Cocos2d and iOS development on a regular basis. <a href="http://twitter.com" >Twitter</a> is a great tool for keeping up to date, letting people know about your app, finding beta testers and finding solutions to dev problems. </p>
<p><a href="https://twitter.com/cocos2d" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @cocos2d</a><a href="https://twitter.com/rwenderlich" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @rwenderlich</a><a href="https://twitter.com/abitofcode" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @abitofcode</a><a href="https://twitter.com/iuridium" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @iuridium</a><a href="https://twitter.com/uelandbob" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @uelandbob</a><a href="https://twitter.com/gaminghorror" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @gaminghorror</a><a href="https://twitter.com/cocos2dx" class="twitter-follow-button" data-show-count="false" data-lang="en">Follow @cocos2dx</a></p>
<p>If you want to follow/build up a following of Cocos2D twitter users it&#8217;s also worth checking the <a href="http://www.cocos2d-iphone.org/forum/topic/13496">Twitter thread</a> on the Cocos2D forum, there&#8217;s also a <a href="http://www.cocos2d-iphone.org/forum/topic/18560">Google+ thread here</a>. The tags #cocos2d and #cchandshake are occasionally used to highlight Cocos2d specific content but a search for &#8216;cocos2d&#8217; usually brings up some interesting results.</p>
<h2>8. Sign up to a good newsletter</h2>
<p>If you&#8217;re new to iOS development it can help to have other people do the research for you <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The following newsletters cover iOS development in general.</p>
<p>* <a href="http://iosdevweekly.com/">IOS Dev Weekly By Dave Verwer</a><br />
* <a href="http://www.raywenderlich.com/">Ray&#8217;s monthly newsletter by Ray Wenderlich</a><br />
* <a href="http://ymlp.com/signup.php?id=gebusqsgmgj">Learn-cocos2d by Steffen Itterheim</a> </p>
<h2>9. Paid Resources</h2>
<p>Some people prefer to purchase their materials rather than hunt around the web, here&#8217;s a collection of the better known resources out there for sale. Please consider any purchases carefully.</p>
<p>* <a href="http://www.sapusmedia.com/products/">Sapus tongue</a> by Ricardo Quesada (***No longer available***)<br />
* <a href="http://bobueland.com/cocos2d/cocos2d-course/">Galaxy Fighter</a> by Bob Ueland<br />
* <a href="http://www.raywenderlich.com/store/space-game-starter-kit">Space Game starter kit</a> from Ray Wenderlich<br />
* <a href="http://iphonegamekit.com/">iPhoneGame Kit</a> by Nat Weiss<br />
* <a href="http://www.iuridium.com/?page_id=2">iUridium</a><br />
* <a href="http://www.learn-cocos2d.com/store/line-drawing-game-starterkit/">Line-Drawing game</a> by Steffen Itterheim</p>
<h2>10. Get familiar with Git</h2>
<p>Git is a distributed revision control and source code management (SCM) system and has made sharing code between developers much simpler. Grab an account on <a href="https://github.com/" target="_blank">GitHub</a> (free for public use) and start following some projects.</p>
<p>For a <a href="https://github.com/hiepnd/CCBlade" target="_blank">Fruit Ninja style blade effect</a> there&#8217;s <a href="https://github.com/hiepnd/CCBlade" target="_blank">this repo</a>.</p>
<p>Another one to watch is the <strong>Cocos2d Extensions repo</strong><a href="https://github.com/cocos2d/cocos2d-iphone-extensions#readme" target="_blank"></a> maintained by <a href="https://twitter.com/#!/parkourDev" target="_blank">Stepan Generalov</a> which adds a number of features to the Cocos2D framework including the following;</p>
<p>* <strong>CCMenuAdvanced</strong> &#8211; CCMenu subclass with additional features: relativeAnchor, more align options, priority property, scrolling with swipe/trackpad/mousewheel<br />
* <strong>CCMenuItemSpriteIndependent</strong> &#8211; CCMenuItemSprite Subclass, that doesnt add normal/selected/disabled images (sprites) as children. It retains them and delegates rect &#038; convertToNodeSpace: methods to normalImage_. So it&#8217;s possible to use CCSpriteBatchNode &#038; add position sprites of menuItem anyway you want.<br />
* <strong>CCVideoPlayer</strong> &#8211; Simple Video Player for Cocos2D apps.<br />
* <strong>CCBigImage</strong> &#8211; Dynamic Tiled Node for holding Large Images.<br />
* <strong>CCSlider</strong> &#8211; Little Slider Control to allow the user to set the music/sfx/etc level in the range of 0.0f to 1.0f.<br />
* <strong>CCSendMessages</strong> &#8211; CCActionInstant subclass, that is more flexible than other CCActions that run functions. Can be used in many cases as blocks replacement.<br />
* <strong>CCScrollLayer</strong> &#8211; CCLayer subclass that lets you pass-in an array of layers and it will then create a smooth scroller. Complete with the &#8220;snapping&#8221; effect.<br />
* <strong>FilesDownloader</strong> &#8211; Downloader for a group of files with shared source path.<br />
* <strong>TMXGenerator</strong> &#8211; Class that generates a single TMX map with multiple layers.<br />
* <strong>CCLayerPanZoom</strong> &#8211; CCLayer subclass that can be scrolled and zoomed with one or two fingers (complete with rubber effect, two modes &#038; ability to click through delegate). </p>
<p>One way to find projects of interest is to keep an eye out in the <a href="http://www.cocos2d-iphone.org/forum" target="_blank">Cocos2d</a> forum. Doing a search for <strong>github</strong> in the forum can produce some interesting results -> <a href="http://www.cocos2d-iphone.org/forum/search.php?q=github" target="_blank">Search for Github in Cocos2D forum</a></p>
<p>(Just found this one <a href="https://github.com/sqlboy/tiled-games/tree/master/src" target="_blank">CCTMXTiledMap A* pathfinding class</a> -> while writing this <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>If you need a little help getting to grips with Git, O&#8217;Reilly have produced a video course &#8216;Mastering Git&#8217; by Matthew McCullough and Tim Berglund that can be purchased <a href="http://shop.oreilly.com/product/0636920017462.do?green=22095378280&#038;intcmp=af-mybuy-0636920017462.IP" target="_blank">here</a>.</p>
<h2>11. The Cocos2D forum</h2>
<p><a href="http://www.cocos2d-iphone.org/forum/" target="_blank">http://www.cocos2d-iphone.org/forum/</a></p>
<p>The MotherShip and a great resource for all things Cocos2D but please take time to read the <a href="http://www.cocos2d-iphone.org/forum/topic/3">READ BEFORE POSTING</a> sticky post before posting your first post, it&#8217;ll also explain how to set your avatar. If you don&#8217;t have an external website, consider setting the link in your profile to your twitter address instead.<br />
There are lots of experienced and friendly Cocos2d developers willing to help out but they like to see that you&#8217;ve had a go yourself and you&#8217;ve posted to the right place.</p>
<p>We&#8217;re not keen on the phrase &#8220;<a href="http://www.cocos2d-iphone.org/forum/topic/31922" target="_blank">RockStar programmer</a>&#8221; <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Google indexes the forum on a regular basis so if the forum search isn&#8217;t returning the results you want, try searching directly in Google, just add cocos2d as one of your search words.</p>
<h2>12. Don&#8217;t reinvent the wheel</h2>
<p>If you came to iOS from ActionScript like me you&#8217;ll probably start of by building a bunch of helper methods and Classes, it&#8217;s worth taking a little time to look through the Cocos2D framework and some of the other frameworks first though. You can jump to a methods definition in XCode by holding Command and clicking the method name once a link shows below it. </p>
<p>Here&#8217;s some of the more useful bits;</p>
<p><strong>ccMacros.h</strong> &#8211; Cocos2d<br />
- COCOS2D_DEBUG<br />
- CC_SWAP &#8211; simple macro that swaps 2 variables<br />
- CCRANDOM_MINUS1_1() returns a random float between -1 and 1<br />
- CCRANDOM_0_1() returns a random float between 0 and 1<br />
- CC_DEGREES_TO_RADIANS() converts degrees to radians<br />
- CC_RADIANS_TO_DEGREES() converts radians to degrees<br />
- CC_ENABLE_DEFAULT_GL_STATES()<br />
- CC_DISABLE_DEFAULT_GL_STATES()<br />
- CC_DIRECTOR_INIT() Depth, Pixelformat, GLView bounds&#8230;<br />
- CC_CONTENT_SCALE_FACTOR() Mac = 1, iPhone Retina = 2 otherwise = 1<br />
- CC_RECT_PIXELS_TO_POINTS(pixels) Converts a rect in pixels to points<br />
- CC_RECT_POINTS_TO_PIXELS(points) Converts a rect in points to pixels</p>
<p><strong>CGPointExtension.h &#038; CGPointExtension.m </strong> &#8211; Cocos2D Point extensions<br />
These contains a lot of useful shortcuts, well worth a quick read through they include;<br />
- <strong>ccp</strong> &#8211; CGPointMake shortcut<br />
- <strong>ccpNeg</strong> &#8211; Returns opposite of point<br />
- <strong>ccpAdd</strong> &#8211; Calculates sum of two points<br />
- <strong>ccpSub</strong> &#8211; Calculates difference of two points<br />
- <strong>ccpMult</strong> &#8211; Returns point multiplied by given factor<br />
- <strong>ccpMidpoint</strong> &#8211; Calculates midpoint between two points<br />
- <strong>ccpDot</strong> &#8211; Calculates dot product of two points<br />
- <strong>ccpCross</strong> &#8211; Calculates cross product of two points<br />
- <strong>ccpPerp</strong> &#8211; Calculates perpendicular of v, rotated 90 degrees counter-clockwise<br />
- <strong>ccpRPerp</strong> &#8211; Calculates perpendicular of v, rotated 90 degrees clockwise<br />
- <strong>ccpProject</strong> &#8211; Calculates the projection of v1 over v2<br />
- <strong>ccpRotate</strong> &#8211; Rotates two points<br />
- <strong>ccpUnrotate</strong> &#8211; Unrotates two points<br />
- <strong>ccpLengthSQ</strong> &#8211; Calculates the square length of a CGPoint (not calling sqrt() )<br />
- <strong>ccpLength</strong> &#8211; Calculates distance between point an origin<br />
- <strong>ccpDistance</strong> &#8211; Calculates the distance between two points<br />
- <strong>ccpNormalize</strong> &#8211; Returns point multiplied to a length of 1<br />
- <strong>ccpForAngle</strong> &#8211; Converts radians to a normalized vector<br />
- <strong>ccpToAngle</strong> &#8211; Converts a vector to radians<br />
- <strong>clampf</strong> &#8211; Clamp a value between from and to<br />
- <strong>ccpClamp</strong> &#8211; Clamp a point between from and to<br />
- <strong>ccpFromSize</strong> &#8211; Quickly convert CGSize to a CGPoint<br />
- <strong>ccpCompOp</strong> &#8211; Run a math operation function on each point component<br />
- <strong>ccpLerp</strong> &#8211; Linear Interpolation between two points a and b<br />
- <strong>ccpFuzzyEqual</strong> &#8211; returns if points have fuzzy equality which means equal with some degree of variance<br />
- <strong>ccpCompMulti</strong> &#8211; Multiplies a nd b components, a.x*b.x, a.y*b.y<br />
- <strong>ccpAngleSigned</strong> &#8211; returns the signed angle in radians between two vector directions<br />
- <strong>ccpAngle</strong> &#8211; returns the angle in radians between two vector directions<br />
- <strong>ccpRotateByAngle</strong> &#8211; Rotates a point counter clockwise by the angle around a pivot<br />
- <strong>ccpLineIntersect</strong> &#8211; A general line-line intersection test<br />
- <strong>ccpSegmentIntersect</strong> &#8211; returns YES if Segment A-B intersects with segment C-D<br />
- <strong>ccpIntersectPoint</strong> &#8211; returns the intersection point of line A-B, C-D</p>
<p>If the above functions make no sense at all visit <a href="http://www.wildbunny.co.uk/blog/vector-maths-a-primer-for-games-programmers/" target="_blank">WildBunny.co.uk</a> for the best Vector maths primer on the web by <a href="http://twitter.com/paul_m_firth" target="_blank">@paul_m_firth</a></p>
<p><strong>CCDrawingPrimitives.h</strong> &#8211; Cocos2D Drawing OpenGL ES primitives<br />
- ccDrawPoint<br />
- ccDrawLine<br />
- ccDrawPoly<br />
- ccDrawCircle<br />
- ccDrawQuadBezier<br />
- ccDrawCubicBezier</p>
<p><strong>UIGeometry.h </strong><br />
- NSStringFromCGPoint(CGPoint point);<br />
- NSStringFromCGSize(CGSize size);<br />
- NSStringFromCGRect(CGRect rect);  </p>
<p><strong>CGGeometry.h</strong> (Core Graphics framework)<br />
- CGRectGetHeight(CGrect rect)<br />
- CGRectGetMinX<br />
- CGRectGetMidX<br />
- CGRectGetMaxX<br />
- CGRectContainsPoint<br />
- CGRectContainsRect<br />
- CGRectIntersectsRect<br />
- CGPointMake<br />
- CGSizeMake<br />
- CGRectMake</p>
<p>Before you invent any of your own basic structs and type check out ccTypes.h which contains things like vertex structures, texture coords and colors (including some predefined colors ccRed, ccBlue, ccGreen etc).</p>
<h2>and finally&#8230;</h2>
<p>Fortunately &#8216;cocos2d&#8217; is fairly unique and narrows the search down somewhat in google. The following links contains some great resources including tutorials and open source games to tinker with, well worth a bookmark.</p>
<p>* <a href="http://www.iuridium.com/?p=436" target="_blank">List of Open Source Cocos2d Projects, Extensions and Code Snippets</a> by <a href="https://twitter.com/#!/iuridium" target="_blank">@iUridium</a></p>
<p>* <a href="http://www.supersuraccoon-cocos2d.com/2012/02/11/sticky-ios-cocos2d-develop-recommended-blog-list-keep-updating/" target="_blank">ios-cocos2d develop Recommended Blog List</a> by <a href="https://twitter.com/#!/supersuraccoon" target="_blank">@SuperSuRaccoon</a></p>
<p>* <a href="http://maniacdev.com/cocos2d-tutorial-and-example-page/" target="_blank">Cocos2D Tutorial And Example Page</a> by <a href="https://twitter.com/#!/maniacdev" target="_blank">@maniacdev</a></p>
<p>Enough reading! Go and make something shiny <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/KwayZjhkvB8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/05/cocos2d-getting-started/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/05/cocos2d-getting-started/</feedburner:origLink></item>
		<item>
		<title>So what happened to Sketchshare?</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/RV7ZKhqs-V8/</link>
		<comments>http://abitofcode.com/2012/05/so-what-happened-to-sketchshare/#comments</comments>
		<pubDate>Mon, 07 May 2012 21:29:57 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[confusion]]></category>
		<category><![CDATA[sketchshare]]></category>
		<category><![CDATA[store]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=826</guid>
		<description><![CDATA[After nearly 3 months on the App Store, we received a very short phone call from Apple. Submit an update of Sketchshare without Game Centre functionality or the App will be removed from the store, you have 2 days to &#8230; <a href="http://abitofcode.com/2012/05/so-what-happened-to-sketchshare/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After nearly 3 months on the App Store, we received a very short phone call from Apple. Submit an update of Sketchshare without Game Centre functionality or the App will be removed from the store, you have 2 days to comply. So two days to attempt to implement a Game Center alternative complete with VoIP or remove the sharing functionality from existing Sketchshare users. Neither option was really viable and so 2 days later Apple removed it from Sale.<br />
<span id="more-826"></span><br />
Sketchshare is the same app as it was in February. We have been working on an update to include Retina support amongst other features, but we have submitted no new code. So we&#8217;re wondering why was it allowed through the submission process in the first place. Submission seemed pretty thorough &#8211; we were asked to remove the background mode, they suggested that adding voice chat would help us retain this function. Explaining that Sketchshare already included voice chat seemed to add further confusion so we opted for losing the background mode.</p>
<p>It was released into the app store and we appeared in New and Noteworthy in many countries, in the UK we were Apple&#8217;s iPad App of the Week. <a href="http://abitofcode.com/wp-content/uploads/2012/05/iPadAppOfTheWeek.jpg"><img src="http://abitofcode.com/wp-content/uploads/2012/05/iPadAppOfTheWeek.jpg" alt="" title="Sketchshare - iPad App Of The Week" width="800" height="461" class="aligncenter size-full wp-image-836" /></a> We had very positive and enthusiastic support from our peers and from Sketchshare users, and some fantastic reviews. It&#8217;s been great watching people like <a href="https://twitter.com/#!/kercal">Paul Kercal</a> collaborate with others and <a href="http://www.flickr.com/photos/56759148@N00/sets/72157629084872806/">share the results</a>.</p>
<p>Other than Apple/the Banks and Oil companies, the rest of the us are facing a certain degree of uncertainty in our day to day lives. For the independent developer, decisions like this with no time to address the issue totally undermine confidence in the App store. Fortunately, in this case we are our own clients, but what can we really offer external clients? Without knowing the rules, how can we develop iOS solutions with any confidence? </p>
<p>Add to this confusion the alleged removal of apps that use Dropbox for storage. Apple seem to be pushing developers towards using iCloud over any third party solutions. Sketchshare on the other hand is being ejected from an Apple API towards implementing a third party solution. Are we going to be pushed back the other way next year? Who knows.</p>
<p>With the level of confusion and uncertainty surrounding the app store, coupled with competition from the large software companies that were noticeably absent during the early days, the App store no longer offers a realistic means of earning a reliable living anymore.</p>
<p>At least cocos2d-x means supporting multiple platforms isn&#8217;t quite the headache it was 2 years ago, just hoping we can get the app working across the other platforms before Apple release their own version <img src='http://abitofcode.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/RV7ZKhqs-V8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/05/so-what-happened-to-sketchshare/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/05/so-what-happened-to-sketchshare/</feedburner:origLink></item>
		<item>
		<title>CCRenderTexture category – percentage complete</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/sNhPwUzOhT0/</link>
		<comments>http://abitofcode.com/2012/04/ccrendertexture-category-percentage-complete/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 11:21:28 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Cocos2d]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[ccrendertexture]]></category>
		<category><![CDATA[cocos2d]]></category>
		<category><![CDATA[scratch]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=770</guid>
		<description><![CDATA[Here&#8217;s a Category to return the percentage of a CCRendertexture that is transparent i.e what percentage of the pixels have an alpha value of zero. Question originally asked on cocos2d forum. I&#8217;ve thrown together a quick example project where a &#8230; <a href="http://abitofcode.com/2012/04/ccrendertexture-category-percentage-complete/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a Category to return the percentage of a CCRendertexture that is transparent i.e what percentage of the pixels have an alpha value of zero. Question originally asked on <a href="http://www.cocos2d-iphone.org/forum/topic/12557">cocos2d forum</a>.</p>
<p>I&#8217;ve thrown together a quick example project where a country scene is scratched off to reveal the same location in colder times, once the entire image is scratched off the percentage transparent should be 100 (download available at bottom of post)</p>
<p>Tap the image 3 times to reset.</p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/04/20120430_scratch.jpg"><img class="aligncenter size-full wp-image-780" title="20120430_scratch" src="http://abitofcode.com/wp-content/uploads/2012/04/20120430_scratch.jpg" alt="" width="1024" height="768" /></a><br />
<span id="more-770"></span></p>

<div class="wp_codebox"><table><tr id="p7704"><td class="code" id="p770code4"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  CCRenderTexture+Percentage.m</span>
<span style="color: #11740a; font-style: italic;">//  Scratch</span>
<span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  Created by Christopher Wilson on 30/04/2012.</span>
<span style="color: #11740a; font-style: italic;">//  Copyright (c) 2012 abitofcode ltd. All rights reserved.</span>
<span style="color: #11740a; font-style: italic;">//</span>
&nbsp;
<span style="color: #6e371a;">#import &quot;CCRenderTexture.h&quot;</span>
<span style="color: #6e371a;">#import &quot;CCRenderTexture+Percentage.h&quot;</span>
&nbsp;
<span style="color: #a61390;">@implementation</span> CCRenderTexture <span style="color: #002200;">&#40;</span>Percentage<span style="color: #002200;">&#41;</span>
&nbsp;
<span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">float</span><span style="color: #002200;">&#41;</span>getPercentageTransparent
<span style="color: #002200;">&#123;</span>
    NSAssert<span style="color: #002200;">&#40;</span>pixelFormat_ <span style="color: #002200;">==</span> kCCTexture2DPixelFormat_RGBA8888,<span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;only RGBA8888 can be saved as image&quot;</span><span style="color: #002200;">&#41;</span>;
&nbsp;
    CGSize s <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>texture_ contentSizeInPixels<span style="color: #002200;">&#93;</span>;
    <span style="color: #a61390;">int</span> tx <span style="color: #002200;">=</span> s.width;
    <span style="color: #a61390;">int</span> ty <span style="color: #002200;">=</span> s.height;
&nbsp;
    <span style="color: #a61390;">int</span> bitsPerPixel                <span style="color: #002200;">=</span> <span style="color: #2400d9;">4</span> <span style="color: #002200;">*</span> <span style="color: #2400d9;">8</span>;
    <span style="color: #a61390;">int</span> bytesPerPixel               <span style="color: #002200;">=</span> bitsPerPixel <span style="color: #002200;">/</span> <span style="color: #2400d9;">8</span>;
    <span style="color: #a61390;">int</span> bytesPerRow                 <span style="color: #002200;">=</span> bytesPerPixel <span style="color: #002200;">*</span> tx;
    NSInteger myDataLength          <span style="color: #002200;">=</span> bytesPerRow <span style="color: #002200;">*</span> ty;
&nbsp;
    <span style="color: #a61390;">int</span> numberOfPixels              <span style="color: #002200;">=</span> tx <span style="color: #002200;">*</span> ty;
    <span style="color: #a61390;">float</span> numberOfTransparent       <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>;
&nbsp;
    GLubyte <span style="color: #002200;">*</span>buffer <span style="color: #002200;">=</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/malloc.html"><span style="color: #a61390;">malloc</span></a><span style="color: #002200;">&#40;</span><a href="http://www.opengroup.org/onlinepubs/009695399/functions/sizeof.html"><span style="color: #a61390;">sizeof</span></a><span style="color: #002200;">&#40;</span>GLubyte<span style="color: #002200;">&#41;</span><span style="color: #002200;">*</span>myDataLength<span style="color: #002200;">&#41;</span>;
&nbsp;
    <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span> <span style="color: #002200;">!</span> <span style="color: #002200;">&#40;</span>buffer<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
        CCLOG<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;cocos2d: CCRenderTexture#getUIImageFromBuffer: not enough memory&quot;</span><span style="color: #002200;">&#41;</span>;
        <a href="http://www.opengroup.org/onlinepubs/009695399/functions/free.html"><span style="color: #a61390;">free</span></a><span style="color: #002200;">&#40;</span>buffer<span style="color: #002200;">&#41;</span>;
        <span style="color: #a61390;">return</span> <span style="color: #002200;">-</span>1.0f;
    <span style="color: #002200;">&#125;</span>
&nbsp;
    <span style="color: #002200;">&#91;</span>self begin<span style="color: #002200;">&#93;</span>;
    glReadPixels<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">0</span>,<span style="color: #2400d9;">0</span>,tx,ty,GL_RGBA,GL_UNSIGNED_BYTE, buffer<span style="color: #002200;">&#41;</span>;
    <span style="color: #002200;">&#91;</span>self end<span style="color: #002200;">&#93;</span>;
&nbsp;
    <span style="color: #a61390;">int</span> x,y;
    <span style="color: #a61390;">for</span><span style="color: #002200;">&#40;</span>y <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>; y <span style="color: #002200;">&amp;</span>lt; ty; y<span style="color: #002200;">++</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
        <span style="color: #11740a; font-style: italic;">// just want the last byte (alpha) for each pixel</span>
        <span style="color: #a61390;">for</span><span style="color: #002200;">&#40;</span>x <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>; x <span style="color: #002200;">&amp;</span>lt; tx; x<span style="color: #002200;">++</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
            GLubyte alpha <span style="color: #002200;">=</span> buffer<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#40;</span>y <span style="color: #002200;">*</span> <span style="color: #2400d9;">4</span> <span style="color: #002200;">*</span> tx <span style="color: #002200;">+</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#40;</span>x <span style="color: #002200;">*</span> <span style="color: #2400d9;">4</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">+</span><span style="color: #2400d9;">3</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
            <span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span>alpha <span style="color: #002200;">==</span> <span style="color: #2400d9;">0</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
                numberOfTransparent<span style="color: #002200;">++</span>;
            <span style="color: #002200;">&#125;</span>
        <span style="color: #002200;">&#125;</span>
    <span style="color: #002200;">&#125;</span>    
&nbsp;
    <a href="http://www.opengroup.org/onlinepubs/009695399/functions/free.html"><span style="color: #a61390;">free</span></a><span style="color: #002200;">&#40;</span>buffer<span style="color: #002200;">&#41;</span>;
&nbsp;
    <span style="color: #a61390;">return</span> <span style="color: #002200;">&#40;</span>numberOfTransparent<span style="color: #002200;">/</span>numberOfPixels<span style="color: #002200;">&#41;</span><span style="color: #002200;">*</span><span style="color: #2400d9;">100</span>;
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></td></tr></table></div>

<a class="downloadlink" href="http://abitofcode.com/wp-content/plugins/download-monitor/download.php?id=10" title="Version1.0 downloaded 14 times" >CCRenderTexture category files (14)</a>
<p>&nbsp;</p>
<p>The images used in this project are available separately below;<br />
<a href="http://abitofcode.com/wp-content/uploads/2012/04/20120430_roadsnow.jpg"><img class="alignleft size-thumbnail wp-image-775" title="20120430_roadsnow" src="http://abitofcode.com/wp-content/uploads/2012/04/20120430_roadsnow-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://abitofcode.com/wp-content/uploads/2012/04/20120430_road.jpg"><img class="alignleft size-thumbnail wp-image-774" title="20120430_road" src="http://abitofcode.com/wp-content/uploads/2012/04/20120430_road-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<a class="downloadlink" href="http://abitofcode.com/wp-content/plugins/download-monitor/download.php?id=11" title="Version1.0 downloaded 41 times" >Scratch - sample project (41)</a>
<p>&nbsp;<br />
If you like this sort of stuff you can <a href="http://twitter.com/abitofcode">follow me on twitter</a></p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/sNhPwUzOhT0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/04/ccrendertexture-category-percentage-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/04/ccrendertexture-category-percentage-complete/</feedburner:origLink></item>
		<item>
		<title>TimeScroller widget</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/BFW0DwTMAaM/</link>
		<comments>http://abitofcode.com/2012/03/timescroller-widget/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 20:58:53 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[app]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=748</guid>
		<description><![CDATA[For anyone who has to occasionally schedule a meeting or phone call across time zones TimeScroller is a great little widget and it&#8217;s free! It defaults to the current time but a great feature is the slider at the bottom &#8230; <a href="http://abitofcode.com/2012/03/timescroller-widget/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For anyone who has to occasionally schedule a meeting or phone call across time zones <a href="http://www.timescroller.com/Widget.html">TimeScroller</a> is a great little widget and it&#8217;s free! </p>
<p>It defaults to the current time but a great feature is the slider at the bottom that allows you to slide forward in time and watch all the zones update. The widget allows you to configure your preferred zones and the order they appear. There is also an email button that will take all the time zones you have set for the current slider time and copy them into an email.</p>
<p>There&#8217;s a paid <a href="http://itunes.apple.com/app/timescroller-time-zone-utility/id288013812?mt=8">iPhone version</a> if you need a mobile version.<br />
<a href="http://abitofcode.com/wp-content/uploads/2012/03/20120314_TimeScroller.png"><img src="http://abitofcode.com/wp-content/uploads/2012/03/20120314_TimeScroller.png" alt="" title="20120314_TimeScroller" width="327" height="230" class="aligncenter size-full wp-image-751" /></a></p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/BFW0DwTMAaM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/03/timescroller-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/03/timescroller-widget/</feedburner:origLink></item>
		<item>
		<title>Whiteboard using wiimote and Sherbert IR marker</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/VpsvmPwZcUo/</link>
		<comments>http://abitofcode.com/2012/03/whiteboard-using-wiimote-and-sherbert-ir-marker/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 16:39:08 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[infra]]></category>
		<category><![CDATA[red]]></category>
		<category><![CDATA[sketchshare]]></category>
		<category><![CDATA[whiteboard]]></category>
		<category><![CDATA[wiimote]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=742</guid>
		<description><![CDATA[Quick test using the Infra red marker I built yesterday, looking forward to trying this out with a projector and a desktop version of Sketchshare. My kids are going to love this]]></description>
			<content:encoded><![CDATA[<p>Quick test using the <a href="http://abitofcode.com/2012/03/sherbert-fountain-based-infrared-marker/">Infra red marker</a> I built yesterday, looking forward to trying this out with a projector and a desktop version of <a href="http://sketchshare.co.uk">Sketchshare</a>. My kids are going to love this <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='620' height='379' src='http://www.youtube.com/embed/4SiMd6SUzXI?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span></p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/VpsvmPwZcUo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/03/whiteboard-using-wiimote-and-sherbert-ir-marker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/03/whiteboard-using-wiimote-and-sherbert-ir-marker/</feedburner:origLink></item>
		<item>
		<title>Sherbert fountain based Infrared marker</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/01H5h6GjYf8/</link>
		<comments>http://abitofcode.com/2012/03/sherbert-fountain-based-infrared-marker/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 17:31:37 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=715</guid>
		<description><![CDATA[I spent some time a couple of years ago playing with Johnny Chungs idea for a wii remote driven interactive whiteboard. I didn&#8217;t have a projector so I used the screen from my 24&#8243; iMac and I cobbled together an &#8230; <a href="http://abitofcode.com/2012/03/sherbert-fountain-based-infrared-marker/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I spent some time a couple of years ago playing with Johnny Chungs idea for a wii remote driven <a href="http://johnnylee.net/projects/wii/">interactive whiteboard</a>. I didn&#8217;t have a projector so I used the screen from my 24&#8243; iMac and I cobbled together an infrared pen using not much more than sticky tape.<br />
With a planned desktop version of <a href="http://www.sketchshare.co.uk">Sketchshare</a> waiting in the wings I decided it was time to resurrect my whiteboard experiments. The further nudge I needed happened when my wife bought me a Sherbert fountain.</p>
<p><strong>The end result</strong></p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen6.jpg"><img class="alignnone size-full wp-image-31" title="The Sherbert fountain based Infra red marker" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen6.jpg" alt="" width="590" height="433" /></a><br />
<span id="more-715"></span><br />
<strong>1. The starting point</strong> Eat contents. Clean both parts of the container and let it dry, the plan is to use the opening to gain easy access to the battery compartment</p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen1.jpg"><img class="alignnone size-full wp-image-31" title="1" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen1.jpg" alt="" width="590" height="433" /></a></p>
<p><strong>2. The components</strong> very basic circuit, I&#8217;ve skipped using a resistor for this one but the rest of the bits are easily found at <a href="http://www.maplin.co.uk/">maplins</a>. The push switch I went with was a Black Sub miniature push to make switch requiring a 5.2mm cut out.</p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen2.jpg"><img class="alignnone size-full wp-image-31" title="2" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen2.jpg" alt="" width="590" height="433" /></a></p>
<p><strong>3. The circuit</strong> The soldering went fairly smoothly until the battery compartment (the one component I&#8217;d forgotten to tin) and I&#8217;d misplaced my insulation so time to break out the gaffer tape.</p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen3.jpg"><img class="alignnone size-full wp-image-31" title="3" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen3.jpg" alt="" width="590" height="433" /></a></p>
<p><strong>4. Making holes</strong> Didn&#8217;t have my drill to hand so made the holes with a pair of scissors (turning not cutting). I needed some accurate sizes so I used a metric set of allen keys to gauge the diameter of the holes.</p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen4.jpg"><img class="alignnone size-full wp-image-31" title="4" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen4.jpg" alt="" width="590" height="433" /></a></p>
<p><strong>5. Putting it all together</strong> Getting it in was a bit of a squeeze, i pushed the push switch through the hole by holding it with a needle nosed pair of pliers, the IR Led was held in place using hot glue and the battery compartment was popped back into the body of the container. </p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen5.jpg"><img class="alignnone size-full wp-image-31" title="5" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen5.jpg" alt="" width="590" height="433" /></a></p>
<p><strong>6. Checking it works</strong> The easiest way to check the pen is working is to fire up Photo Booth and check the infra red LED shows up on the camera. </p>
<p><a href="http://abitofcode.com/wp-content/uploads/2012/03/irpen7.jpg"><img class="alignnone size-full wp-image-31" title="Testing the marker" src="http://abitofcode.com/wp-content/uploads/2012/03/irpen7.jpg" alt="" width="590" height="393" /></a></p>
<p>I had trouble getting the wiimotes to connect to Bluetooth on OSX during my earlier experiments but I&#8217;m hoping I&#8217;ll have a little more success with this <a href="http://www.uweschmidt.org/wiimote-whiteboard">open source project</a> which also handles the Bluetooth pairing. </p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/01H5h6GjYf8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/03/sherbert-fountain-based-infrared-marker/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/03/sherbert-fountain-based-infrared-marker/</feedburner:origLink></item>
		<item>
		<title>Python shortcut for animation plists</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/hBfbtGrACS8/</link>
		<comments>http://abitofcode.com/2012/02/python-shortcut-for-animation-plists/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 21:59:09 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=685</guid>
		<description><![CDATA[Quick (and not too pretty) python script I threw together for generating animation frame plists. For a tutorial about using the plist to drive your cocos2d animation check out this great tutorial from Ray Wenderlich&#8217;s site. I had a list &#8230; <a href="http://abitofcode.com/2012/02/python-shortcut-for-animation-plists/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Quick (and not too pretty) python script I threw together for generating animation frame plists. For a tutorial about using the plist to drive your cocos2d animation check out <a href="http://www.raywenderlich.com/2593/how-to-create-a-mole-whacking-game-with-cocos2d-part-2">this great tutorial</a> from Ray Wenderlich&#8217;s site.</p>
<p>I had a list of 208 separate frames of animation that were added to a sprite map as part of the build in XCode using <a href="http://www.texturepacker.com/cocos2d/xcode4-integration-tutorial-of-texturepacker-for-cocos2d-and-sparrow-framework/">TexturePacker</a>. </p>
<p>There are a number of assumptions made about the animations but at least the script should save some time on the initial creation.<br />
* Each animation frame file starts with a name that will become the name of the plist.<br />
* Frames have a sequence number after a &#8216;_&#8217; that is used to determine the order.<br />
* The sequence does not have to be continuous i.e 00002, 00003, 00006 is fine<br />
* Don&#8217;t put anything in the directory that you are loading the images from that is not an image.</p>

<div class="wp_codebox"><table><tr id="p6856"><td class="code" id="p685code6"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> writePlist<span style="color: black;">&#40;</span>fileName, content<span style="color: black;">&#41;</span>:    
    <span style="color: #808080; font-style: italic;"># Create a file object:</span>
    <span style="color: #808080; font-style: italic;"># in &quot;write&quot; mode</span>
    FILE = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>fileName,<span style="color: #483d8b;">&quot;w&quot;</span><span style="color: black;">&#41;</span>
    header = <span style="color: #483d8b;">&quot;&lt;?xml version=<span style="color: #000099; font-weight: bold;">\&quot;</span>1.0<span style="color: #000099; font-weight: bold;">\&quot;</span> encoding=<span style="color: #000099; font-weight: bold;">\&quot;</span>UTF-8<span style="color: #000099; font-weight: bold;">\&quot;</span>?&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
    header += <span style="color: #483d8b;">&quot;&lt;!DOCTYPE plist PUBLIC <span style="color: #000099; font-weight: bold;">\&quot;</span>-//Apple//DTD PLIST 1.0//EN<span style="color: #000099; font-weight: bold;">\&quot;</span> <span style="color: #000099; font-weight: bold;">\&quot;</span>http://www.apple.com/DTDs/PropertyList-1.0.dtd<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
    header += <span style="color: #483d8b;">&quot;&lt;plist version=<span style="color: #000099; font-weight: bold;">\&quot;</span>1.0<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #000099; font-weight: bold;">\n</span>&lt;array&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
    content = header + content + <span style="color: #483d8b;">&quot;&lt;/array&gt;<span style="color: #000099; font-weight: bold;">\n</span>&lt;/plist&gt;&quot;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;"># Write all the lines at once:</span>
    FILE.<span style="color: black;">writelines</span><span style="color: black;">&#40;</span>content<span style="color: black;">&#41;</span>
&nbsp;
    FILE.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># If no database is specified, drop out</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#41;</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #ff4500;">2</span>:
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Usage: %s directoryOfImages'</span> <span style="color: #66cc66;">%</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Get the path to the directory of images</span>
imageDir = <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span> + <span style="color: #483d8b;">'/'</span>    
&nbsp;
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>imageDir<span style="color: black;">&#41;</span>:    
    <span style="color: #dc143c;">sys</span>.<span style="color: black;">exit</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Directory: %s does not exist'</span> <span style="color: #66cc66;">%</span> imageDir<span style="color: black;">&#41;</span>    
&nbsp;
fileName=<span style="color: #483d8b;">&quot;&quot;</span>
fileContents=<span style="color: #483d8b;">&quot;&quot;</span>
&nbsp;
listing = <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span>imageDir<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> infile <span style="color: #ff7700;font-weight:bold;">in</span> listing:
    fileParts = infile.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;_&quot;</span><span style="color: black;">&#41;</span>
    fileStub = fileParts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>    
    <span style="color: #ff7700;font-weight:bold;">if</span> fileStub <span style="color: #66cc66;">!</span>= fileName:
        <span style="color: #ff7700;font-weight:bold;">if</span> fileName <span style="color: #66cc66;">!</span>= <span style="color: #483d8b;">&quot;&quot;</span>:
            writePlist<span style="color: black;">&#40;</span>fileName + <span style="color: #483d8b;">&quot;.plist&quot;</span>, fileContents<span style="color: black;">&#41;</span>              
        fileName = fileStub
        fileContents = <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&lt;string&gt;&quot;</span> + infile + <span style="color: #483d8b;">&quot;&lt;/string&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
    fileContents+= <span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&lt;string&gt;&quot;</span> + infile + <span style="color: #483d8b;">&quot;&lt;/string&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#write the last file</span>
writePlist<span style="color: black;">&#40;</span>fileName + <span style="color: #483d8b;">&quot;.plist&quot;</span>, fileContents<span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>To use it (assuming you named it plist.py)</p>
<div class="terminal">
>ls -la safe_png<br />
drwxr-xr-x  210 abitofcode  staff   7.0K 23 Feb 21:54 ./<br />
drwxr-xr-x   27 abitofcode  staff   918B 23 Feb 15:50 ../<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    17K 23 Feb 13:11 hookDead_00001.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00002.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    21K 23 Feb 13:11 hookDead_00003.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00004.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    21K 23 Feb 13:11 hookDead_00005.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    21K 23 Feb 13:11 hookDead_00006.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00007.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00008.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00009.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00010.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    22K 23 Feb 13:11 hookDead_00011.png<br />
-rw-r&#8211;r&#8211;@   1 abitofcode  staff    21K 23 Feb 13:11 hookDead_00012.png</p>
<p>>python plist.py safe_png
</p></div>
<p>The above example would generate a single plist called hookDead.plist with 12 entries but the script can be run against whole directories of files.</p>
<p>Download the files here: <a href="http://abitofcode.com/wp-content/plugins/download-monitor/download.php?id=9">Python animation Plist builder</a></p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/hBfbtGrACS8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/02/python-shortcut-for-animation-plists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/02/python-shortcut-for-animation-plists/</feedburner:origLink></item>
		<item>
		<title>Toughguy over for another year</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/LRVV18pHfto/</link>
		<comments>http://abitofcode.com/2012/02/toughguy-over-for-another-year/#comments</comments>
		<pubDate>Fri, 10 Feb 2012 16:44:02 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=680</guid>
		<description><![CDATA[Swore I&#8217;d never do this again but I&#8217;m already considering entering for 2013. Tough Guy 2011 from Realm Pictures on Vimeo.]]></description>
			<content:encoded><![CDATA[<p>Swore I&#8217;d never do this again but I&#8217;m already considering entering for 2013.<br />
<iframe src="http://player.vimeo.com/video/19831654?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
<p><a href="http://vimeo.com/19831654">Tough Guy 2011</a> from <a href="http://vimeo.com/realmpictues">Realm Pictures</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/LRVV18pHfto" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/02/toughguy-over-for-another-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/02/toughguy-over-for-another-year/</feedburner:origLink></item>
		<item>
		<title>Cocos2d Cookbook</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/96UMx3zsXVo/</link>
		<comments>http://abitofcode.com/2012/01/cocos2d-cookbook/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:48:09 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=662</guid>
		<description><![CDATA[Nathan Burba has done a fantastic job of pulling together a great collection of recipes for the cocod2d cookbook covering everything from Bullets to Speech recognition. Once Sketchshare is fully launched I plan on doing a review of the book &#8230; <a href="http://abitofcode.com/2012/01/cocos2d-cookbook/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nathan Burba has done a fantastic job of pulling together a great collection of recipes for the cocod2d cookbook covering everything from Bullets to Speech recognition.<br />
<a href="http://cocos2dcookbook.com/"><img src="http://abitofcode.com/wp-content/uploads/2012/01/cocos2d_cookbook_cover-242x300.png" alt="" title="cocos2d_cookbook_cover" width="242" height="300" class="alignleft size-medium wp-image-664" /></a> Once Sketchshare is fully launched I plan on doing a review of the book in some detail. In the meantime it&#8217;s perfect for the Inquisitive/Intermediate programmer and covers a wide variety of techniques. For further detail check out Nathans site <a href="http://cocos2dcookbook.com/">http://cocos2dcookbook.com/</a> which has videos detailing the techniques covered in the book. </p>
<p>It&#8217;s available to purchase over at <a href="http://www.packtpub.com/cocos2d-for-iphone-1-game-development-cookbook/book">Packt&#8217;s site</a></p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/96UMx3zsXVo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/01/cocos2d-cookbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/01/cocos2d-cookbook/</feedburner:origLink></item>
		<item>
		<title>7 days and counting :S</title>
		<link>http://feedproxy.google.com/~r/abitofcode/JoZG/~3/K6NO01DquOA/</link>
		<comments>http://abitofcode.com/2012/01/7-days-and-counting-s/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 01:53:30 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[nettlewarrior]]></category>
		<category><![CDATA[race]]></category>
		<category><![CDATA[sicknote]]></category>
		<category><![CDATA[toughguy]]></category>

		<guid isPermaLink="false">http://abitofcode.com/?p=624</guid>
		<description><![CDATA[7 days until the Raiders start this years Toughguy race by firing what&#8217;s left of the cannon. I&#8217;ll be running as &#8216;Sicknote&#8217;. I&#8217;m starting to feel a little nervous about this years race. I&#8217;ve done the summer event &#8216;NettleWarrior&#8217; 6 &#8230; <a href="http://abitofcode.com/2012/01/7-days-and-counting-s/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>7 days until the Raiders start this years <a href="http://toughguy.co.uk">Toughguy</a> race by firing what&#8217;s left of the  cannon. I&#8217;ll be running as &#8216;Sicknote&#8217;.<br />
<a href="http://abitofcode.com/wp-content/uploads/2012/01/20120122_water.jpg"><img src="http://abitofcode.com/wp-content/uploads/2012/01/20120122_water.jpg" alt="" title="20120122_water" width="560" height="420" class="aligncenter size-full wp-image-633" /></a><br />
<span id="more-624"></span><br />
I&#8217;m starting to feel a little nervous about this years race. I&#8217;ve done the summer event &#8216;NettleWarrior&#8217; 6 times now and though Nettlewarrior involves an extra lap it has only ever been cold, it&#8217;s never been freezing. </p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='620' height='379' src='http://www.youtube.com/embed/UsOboX4aFv8?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span></p>
<p>Cold aside, the only real unpleasant part of the course are the electric shocks in the torture tunnels. Dangly electrified wires hang between wooden blocks in the near dark.</p>
<p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='620' height='379' src='http://www.youtube.com/embed/OMgBNTIDEu4?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span></p>
<p>On the whole though looking forward to running again, my training strategy over Christmas was to put on plenty of weight. Not a great strategy but too late to change it now.</p>
<div id="attachment_632" class="wp-caption aligncenter" style="width: 570px"><a href="http://abitofcode.com/wp-content/uploads/2012/01/20120122_berg.jpg"><img src="http://abitofcode.com/wp-content/uploads/2012/01/20120122_berg.jpg" alt="" title="20120122_berg" width="560" height="420" class="size-full wp-image-632" /></a><p class="wp-caption-text">The only obstacle this thing doesn&#039;t go through are the concrete tunnels</p></div>
<p>At least we&#8217;re not pulling the cannon round this time <img src='http://abitofcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<img src="http://feeds.feedburner.com/~r/abitofcode/JoZG/~4/K6NO01DquOA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://abitofcode.com/2012/01/7-days-and-counting-s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://abitofcode.com/2012/01/7-days-and-counting-s/</feedburner:origLink></item>
	</channel>
</rss>

