<?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>Phyline Blog</title>
	<atom:link href="http://phyline.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://phyline.com/blog</link>
	<description>Sofia en gris, porque el mundo no es perfecto y no tengo memoria para recordarlo</description>
	<lastBuildDate>Mon, 29 Apr 2013 10:27:12 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4</generator>
		<item>
		<title>Cosas de Eclipse/Android</title>
		<link>http://phyline.com/blog/2013/04/cosas-de-eclipseandroid/</link>
		<comments>http://phyline.com/blog/2013/04/cosas-de-eclipseandroid/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 10:27:12 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[ActivityManager: Warning: Activity not started]]></category>
		<category><![CDATA[its current task has been brought to the front]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=605</guid>
		<description><![CDATA[&#160; Ahora que estoy metiendome mucho más a desarrollar para Android (la verdad, no sé mucho&#8230;me estresa un poco la lentitud en la que aprendo&#8230;Java no es mi lenguaje favorito, todo gracias a horrendas experiencias en el pasado) pues estoy intentado aprender  resolver ciertos errores y advertencias que genera Eclipse. Hoy por ejemplo,me aparecia:  ActivityManager: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://phyline.com/blog/wp-content/uploads/2013/04/android.jpg"><img class="aligncenter size-medium wp-image-606" title="android" src="http://phyline.com/blog/wp-content/uploads/2013/04/android-300x291.jpg" alt="" width="300" height="291" /></a></p>
<p>&nbsp;</p>
<p>Ahora que estoy metiendome mucho más a desarrollar para Android (la verdad, no sé mucho&#8230;me estresa un poco la lentitud en la que aprendo&#8230;Java no es mi lenguaje favorito, todo gracias a horrendas experiencias en el pasado) pues estoy intentado aprender  resolver ciertos errores y advertencias que genera Eclipse.</p>
<p>Hoy por ejemplo,me aparecia:</p>
<blockquote><p> ActivityManager: Warning: Activity not started, its current task has been brought to the front</p></blockquote>
<p>Seguro para los más versados en el tema, sabrán la solución. Pero yo, la n00b tuve que buscar qué demonios significaba eso&#8230;; con una simple búsqueda en Google entendí que ocurría. Pues que para que se pueda ejecutar el código se debe compilar primero, si  no se hace ningún cambio al código este no compila de forma automática y arroja esa advertencia.</p>
<p>Ahora ya sabes, toca el código, quita un espacio o &#8230;whatever.</p>
<p>Enjoy Android&#8230;
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2013%2F04%2Fcosas-de-eclipseandroid%2F&amp;title=Cosas%20de%20Eclipse%2FAndroid" id="wpa2a_2"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2013/04/cosas-de-eclipseandroid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crash NSLayoutConstraint (funcionalidad de iOS 6)</title>
		<link>http://phyline.com/blog/2013/01/crash-nslayoutconstraint-funcionalidad-de-ios-6/</link>
		<comments>http://phyline.com/blog/2013/01/crash-nslayoutconstraint-funcionalidad-de-ios-6/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 13:14:52 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Móviles]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[XCode]]></category>
		<category><![CDATA[Crash]]></category>
		<category><![CDATA[NSLayoutConstraint]]></category>
		<category><![CDATA[XCODE]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=590</guid>
		<description><![CDATA[Cuando nos toca actualizar cualquier SDK los valores añadidos de dicha actualización, muchas veces  generan problemas con programas realizados con el SDK anterior, bien sea porque hay líneas &#8220;Deprecated&#8221; u obsoletas, o porque hay que añadir alguna otra línea, funcionalidad, etc del API (los que usan Java viven esta tortura constantemente :p) Así me ocurrió [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando nos toca actualizar cualquier SDK los valores añadidos de dicha actualización, muchas veces  generan problemas con programas realizados con el SDK anterior, bien sea porque hay líneas &#8220;Deprecated&#8221; u obsoletas, o porque hay que añadir alguna otra línea, funcionalidad, etc del API (los que usan Java viven esta tortura constantemente :p)</p>
<p>Así me ocurrió con la actualización de <span style="color: #ff6600;"><strong>XCODE de 4.2 a 4.5</strong> </span>y que ahora usa iOS 6. Y aunque este post lo debí escribir hace mucho tiempo (2012 ya se fue) pues nunca es tarde para mencionar lo ocurrido.</p>
<p>Algunas nuevas funcionalidades de XCODE con iOS 6 es la utilización de Storyboards, es automático de hecho, y debería ser así. Sin embargo ya estaba a medio camino del proyecto cuando tuve que actualizar y no me di cuenta que las nuevas XIB que estaba creando me colocaban un &#8220;Check&#8221; en una opción que jamás había tocado antes. El <strong><span style="color: #ff6600;">AutoLayout.</span></strong></p>
<p><span style="color: #ff6600;"><strong><em>¿Qué ocurre con esto?</em></strong></span> pensarás. Pues sencillo, cuando ejecutas tu programa en iOS 6 va de maravilla, puesto que ese AutoLayout es precisamente para iOS 6 y sus StoryBoards, si no usas StoryBoard no pasa nada. El problema aparece cuando bajas del iOS 6 al iOS 5 o 5.1 que <span style="color: #ff6600;"><strong>NO</strong></span> es una funcionalidad de este sistema operativo y por lo tanto se cae al tratar de ejecutar el XIB con el<span style="color: #ff6600;"> <strong>AutoLayout</strong> </span>marcado con el check y aparece el error de abajo:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint'</div></td></tr></tbody></table></div>
<h2><strong>La solución es sencilla: busca todos los XIB y desmarca la opción AUTOLAYOUT. ¡Presto!</strong></h2>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2013%2F01%2Fcrash-nslayoutconstraint-funcionalidad-de-ios-6%2F&amp;title=Crash%20NSLayoutConstraint%20%28funcionalidad%20de%20iOS%206%29" id="wpa2a_4"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2013/01/crash-nslayoutconstraint-funcionalidad-de-ios-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Depurando con DLog</title>
		<link>http://phyline.com/blog/2012/09/depurando-con-dlog/</link>
		<comments>http://phyline.com/blog/2012/09/depurando-con-dlog/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 10:20:37 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[DLog]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=566</guid>
		<description><![CDATA[Muchas veces, sino siempre, es necesario realizar depuraciones en nuestro código para determinar si hemos hecho las cosas bien o no, y básicamente para imprimir en la consola los valores que nos interesa observar. En Objective-C existe una forma, la tradicional de depurar que es usando la macro NSLog 1NSLog&#40;@&#34;Bla blah&#34;&#41;; NSLOG seguirá mostrando información [...]]]></description>
			<content:encoded><![CDATA[<p>Muchas veces, sino siempre, es necesario realizar depuraciones en nuestro código para determinar si hemos hecho las cosas bien o no, y básicamente para imprimir en la consola los valores que nos interesa observar. En Objective-C existe una forma, la tradicional de depurar que es usando la macro NSLog</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">NSLog<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #0000ff;">&quot;Bla blah&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>NSLOG seguirá mostrando información en consola, aunque activemos la opción DEBUG (debug flag). Para evitar esto, existe la opción para debug llamada DLOG, que es otro macro que dejará de imprimir en consola cuando la bandera DEBUG este desactivada. De este modo, podremos dejar nuestros comentarios DLOG si desactivamos el modo debug. </p>
<p>Basta simplemente con hacer una cabecera (.h) (que yo llamare Macros.h) con el siguiente código:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#ifdef DEBUG<br />
</span><br />
<span style="color: #666666; font-style: italic;">#define DLog(...) NSLog(@&quot;%s %@&quot;, __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__])<br />
</span><br />
<span style="color: #666666; font-style: italic;">#else<br />
</span><br />
<span style="color: #666666; font-style: italic;">#define DLog(...) do { } while (0)<br />
</span><br />
<span style="color: #666666; font-style: italic;">#endif</span></div></td></tr></tbody></table></div>
<p>y para usarlo en todo el proyecto, simplemente importalo al archivo</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">MyProjectExample<span style="color: #339933;">-</span>Prefix<span style="color: #339933;">.</span>pch</div></td></tr></tbody></table></div>
<p>que se vería así</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//</span><br />
<span style="color: #666666; font-style: italic;">// Prefix header for all source files of the 'ProjectExample' target in the 'ProjectExample' project</span><br />
<span style="color: #666666; font-style: italic;">//</span><br />
<br />
<span style="color: #666666; font-style: italic;">#import<br />
</span><br />
<span style="color: #666666; font-style: italic;">#ifndef __IPHONE_4_0<br />
</span><span style="color: #666666; font-style: italic;">#warning &quot;This project uses features only available in iOS SDK 4.0 and later.&quot;<br />
</span><span style="color: #666666; font-style: italic;">#endif<br />
</span><br />
<span style="color: #666666; font-style: italic;">#ifdef __OBJC__<br />
</span><span style="color: #666666; font-style: italic;">#import &amp;lt;UIKit/UIKit.h&amp;gt;<br />
</span><span style="color: #666666; font-style: italic;">#import &amp;lt;Foundation/Foundation.h&amp;gt;<br />
</span><span style="color: #666666; font-style: italic;">#import &quot;Macros.h&quot;<br />
</span><span style="color: #666666; font-style: italic;">#endif</span></div></td></tr></tbody></table></div>
<p>Ahora intenta emplearlo de la misma forma que con el NSLog. ¿Qué tal?</p>
<p>Dejo el código fuente para que lo veas mejor: <a title="aquí" href="http://phyline.com/blog/codigoFuente/dLog/ProjectExample.zip">aquí</a>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F09%2Fdepurando-con-dlog%2F&amp;title=Depurando%20con%20DLog" id="wpa2a_6"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/09/depurando-con-dlog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejecutar Cocos2D desde un Tab Bar UIKit</title>
		<link>http://phyline.com/blog/2012/04/unir-cocos2d-en-una-app-uikit/</link>
		<comments>http://phyline.com/blog/2012/04/unir-cocos2d-en-una-app-uikit/#comments</comments>
		<pubDate>Sun, 01 Apr 2012 19:36:45 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Tabbar y Cocos2D]]></category>
		<category><![CDATA[tutorial Cocos2D]]></category>
		<category><![CDATA[Uikit dentro de Cocos2D]]></category>
		<category><![CDATA[unir Uikit con Cocos2D]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=379</guid>
		<description><![CDATA[Creo que este es el quebradero de cabeza para todos los que comienzan o han comenzado a usar Cocos2D. Usualmente queremos meter en un tabbar de una app tradicional Uikit una aplicación desarrollada en Cocos2D (u otras) y lo único que podemos hacer es levantar un puño al cielo y maldecir en voz alta, eso, [...]]]></description>
			<content:encoded><![CDATA[<p>Creo que este es el quebradero de cabeza para todos los que comienzan o han comenzado a usar Cocos2D. Usualmente queremos meter en un tabbar de una app tradicional Uikit una aplicación desarrollada en Cocos2D (u otras) y lo único que podemos hacer es levantar un puño al cielo y maldecir en voz alta, eso, o gritar ¡NO SÉ QUE HACER!.</p>
<p>Lo sé, been there done that. Sin embargo, a medida que vas &#8220;toqueteando&#8221; la herramienta, te das cuenta de lo esencial: <span style="color: #ff6600;"><em><strong>El Director ha de instanciarse en el AppDelegate</strong></em></span>, porque es la <span style="color: #ff6600;"><strong>BASE</strong></span> de Cocos2D, es quién dirige y dice cuando debe ejecutarse cualquier escena de la app.</p>
<div><strong>IMPORTANTE: </strong></div>
<div>En Cocos2D puedes usar cualquier UiView + TabBars + Botones etc, PERO debes hacerlo partiendo de Cocos2D como base porque la plantilla instancia todas las llamadas, clases y el Director ya se instancia dentro del AppDelegate.</div>
<div></div>
<div>Hasta ahora no he logrado hacerlo al revés, es decir, partiendo desde una aplicación UIKIT bruta y añadirle el framework de Cocos2D. Hay que hacer muchas maromas para lograrlo, añadir librerías, licencias, clases, y un largo etcétera.</div>
<div></div>
<p>&nbsp;</p>
<div><span style="color: #000000;">Si este eres tú: <strong>&#8220;Dame el código y ya veré por mi cuenta como funciona&#8221;</strong></span></div>
<p>&nbsp;</p>
<div> <img src="http://profile.ak.fbcdn.net/hprofile-ak-snc4/211174_160016684059453_6344475_n.jpg" alt="" /></div>
<div>Descarga el código aquí &#8211;&gt;<span style="color: #ff6600;"> <a href="http://phyline.com/blog/codigoCocos2D/uikitcocos/Pruebauikit.zip"><span style="color: #ff6600;">Sí, aquí</span></a></span></div>
<div></div>
<div></div>
<p>&nbsp;</p>
<div><span style="color: #000000;"><strong>¡He comenzado la app en Cocos2D!</strong></span></div>
<p>&nbsp;</p>
<div>
<h2><span style="color: #000000;"><strong>AppDelegate.h</strong></span></h2>
</div>
<div></div>
<div>¡Ok! Para comenzar no hay un .m sin un .h así que las variables y métodos accesores que vamos a emplear son los siguientes:</div>
<div></div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#import &quot;uikit.h&quot;<br />
</span><span style="color: #666666; font-style: italic;">#import &quot;General.h&quot;<br />
</span><span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">class</span> RootViewController<span style="color: #339933;">;</span><br />
<br />
<span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">interface</span> AppDelegate <span style="color: #339933;">:</span> NSObject<span style="color: #009900;">&#123;</span><br />
UIWindow <span style="color: #339933;">*</span>window<span style="color: #339933;">;</span><br />
RootViewController <span style="color: #339933;">*</span>viewController<span style="color: #339933;">;</span><br />
General <span style="color: #339933;">*</span>general<span style="color: #339933;">;</span><br />
NSNotificationCenter <span style="color: #339933;">*</span>notifyCenter<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #339933;">@</span>property <span style="color: #009900;">&#40;</span>nonatomic<span style="color: #339933;">,</span> retain<span style="color: #009900;">&#41;</span> NSNotificationCenter <span style="color: #339933;">*</span>notifyCenter<span style="color: #339933;">;</span><br />
<span style="color: #339933;">@</span>property <span style="color: #009900;">&#40;</span>nonatomic<span style="color: #339933;">,</span> retain<span style="color: #009900;">&#41;</span> General <span style="color: #339933;">*</span>general<span style="color: #339933;">;</span><br />
<span style="color: #339933;">@</span>property <span style="color: #009900;">&#40;</span>nonatomic<span style="color: #339933;">,</span> retain<span style="color: #009900;">&#41;</span> UIWindow <span style="color: #339933;">*</span>window<span style="color: #339933;">;&lt;/</span>div<span style="color: #339933;">&gt;</span><br />
<br />
<span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>void<span style="color: #009900;">&#41;</span> showUIViewController<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>UIViewController <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> controller<span style="color: #339933;">;</span><br />
<span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>void<span style="color: #009900;">&#41;</span> hideUIViewController<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>UIViewController <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> controller<span style="color: #339933;">;</span><br />
<span style="color: #339933;">@</span><a href="http://www.php.net/end"><span style="color: #990000;">end</span></a></div></td></tr></tbody></table></div>
<ul>
<li><span style="color: #ff6600;"><strong>General</strong></span> es la clase UIViewController, donde hemos creado el Tab Bar Controller.</li>
<li><span style="color: #ff6600;"><strong>NSNotificacionCenter</strong></span> es utilizada para, como su nombre lo indica, realizar notificaciones desde cualquier lugar de la app e indicarle al Director en el AppDelegate que debe ejecutar tal o cual escena de Cocos2D.</li>
<li> <strong><span style="color: #ff6600;">RootViewController </span></strong>es el controlador root que Cocos2D utiliza para  manejar las rotaciones del iPhone/iPod/iPad.</li>
<li><strong style="color: #ff6600;">window </strong><span style="color: #808080;">una UIWindow que funcionará para comunicarse con el Director y darle la información de la ventana del dispositivo.</span></li>
</ul>
</div>
<div></div>
<h2><span style="color: #000000;"><em><strong>AppDelegate.m</strong></em></span></h2>
<div></div>
<div>1.- Vale, lo primero es modificar el AppDelegate.m, colocando dentro de <strong><em>applicationDidFinishLaunching</em></strong> una <strong><span style="color: #ff6600;">notificación</span></strong> (la clase notifyCenter que se encargará de enviarle mensajes al AppDelegate desde otras clases cuando debe ejecutar las escenas en Cocos2D).</div>
<div></div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">.</span>notifyCenter <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>NSNotificationCenter defaultCenter<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>notifyCenter addObserver<span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">self</span> selector<span style="color: #339933;">:@</span>selector<span style="color: #009900;">&#40;</span>trackNotifications<span style="color: #339933;">:</span><span style="color: #009900;">&#41;</span> name<span style="color: #339933;">:</span>nil object<span style="color: #339933;">:</span>nil<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
</div>
<div>1. 2.- Se instancia una variable UIWindow</div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">window <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>UIWindow alloc<span style="color: #009900;">&#93;</span> initWithFrame<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>UIScreen mainScreen<span style="color: #009900;">&#93;</span> bounds<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>window setUserInteractionEnabled<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>window setMultipleTouchEnabled<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
CCDirector <span style="color: #339933;">*</span>director <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>CCDirector sharedDirector<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">// Create an EAGLView with a RGB8 color buffer, and a depth buffer of 24-bits</span><br />
EAGLView <span style="color: #339933;">*</span>glView <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>EAGLView viewWithFrame<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>window frame<span style="color: #009900;">&#93;</span> kEAGLColorFormatRGBA8 depthFormat<span style="color: #339933;">:</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>glView setMultipleTouchEnabled<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// attach the openglView to the director</span><br />
<span style="color: #009900;">&#91;</span>director setOpenGLView<span style="color: #339933;">:</span>glView<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> <span style="color: #009900;">&#91;</span>director enableRetinaDisplay<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><br />
CCLOG<span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #0000ff;">&quot;Retina Display Not supported&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">// make the OpenGLView a child of the main window</span><br />
<span style="color: #009900;">&#91;</span>window addSubview<span style="color: #339933;">:</span>glView<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// make main window visible</span><br />
<span style="color: #009900;">&#91;</span>window makeKeyAndVisible<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
</div>
<div></div>
<div>
<p> 2.-  Creamos una <strong><span style="color: #ff6600;">clase CCScene</span></strong> , en el código se llama GameScene, que no contendrá nada de código excepto por el que viene por defecto con la misma clase, solo servirá para que el Director sepa que es lo que deberá ejecutar, es como un cascarón o wrapper en Cocos2D. Luego instanciamos en el <em><strong>applicationDidFinishLaunching.</strong></em><strong><em></em></strong></p>
<p>&nbsp;</p>
</div>
<div>Ojo, escribo los comentarios dentro del código en inglés por comodidad y costumbre.</div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//This must be a CCScene Class, the Director will start to use Cocos2D</span><br />
GameScene <span style="color: #339933;">*</span>gs <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>GameScene node<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>CCDirector sharedDirector<span style="color: #009900;">&#93;</span> runWithScene<span style="color: #339933;">:</span>gs<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
</div>
<div> 3.- Al final del <em><strong>applicationDidFinishLaunching </strong></em> hacemos llamada a un XIB que contiene el <span style="color: #ff6600;"><strong>Tab Bar Controller</strong></span></div>
<div></div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//uiview to be opened</span><br />
<br />
General <span style="color: #339933;">*</span>principal<span style="color: #339933;">;</span><br />
principal <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>General alloc<span style="color: #009900;">&#93;</span> initWithNibName<span style="color: #339933;">:@</span><span style="color: #0000ff;">&quot;General&quot;</span> bundle<span style="color: #339933;">:</span>nil<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">.</span>general <span style="color: #339933;">=</span> principal<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>principal release<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>4.-  Y por último hacemos la llamada al UIview</p>
</div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&#91;</span><span style="color: #000000; font-weight: bold;">self</span> showUIViewController<span style="color: #339933;">:</span>general<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
</div>
<div></div>
<p>&nbsp;</p>
<h2><span style="color: #000000;"><strong><em>Método de Notificación: trackNotifications</em></strong></span></h2>
<div></div>
<div>Como comenté anteriormente, se hace un método de notificación de llamadas a escenas de Cocos2D de la siguiente forma (en el mismo AppDelegate)</div>
<div></div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>void<span style="color: #009900;">&#41;</span> trackNotifications<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>NSNotification <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span> notification<br />
<br />
<span style="color: #009900;">&#123;</span><br />
id nname <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>notification name<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span>nname isEqual<span style="color: #339933;">:@</span><span style="color: #0000ff;">&quot;empezarPrueba&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
<span style="color: #009900;">&#91;</span><span style="color: #000000; font-weight: bold;">self</span> hideUIViewController<span style="color: #339933;">:</span>general<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Obtain the shared director in order to...</span><br />
CCDirector <span style="color: #339933;">*</span>director <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>CCDirector sharedDirector<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Sets landscape mode</span><br />
<span style="color: #009900;">&#91;</span>director setDeviceOrientation<span style="color: #339933;">:</span>kCCDeviceOrientationLandscapeLeft<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">//CCDeviceOrientationPortrait</span><br />
<span style="color: #666666; font-style: italic;">// Turn on display FPS</span><br />
<span style="color: #009900;">&#91;</span>director setDisplayFPS<span style="color: #339933;">:</span>NO<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Turn on multiple touches</span><br />
EAGLView <span style="color: #339933;">*</span>view <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>director openGLView<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span>view setMultipleTouchEnabled<span style="color: #339933;">:</span>YES<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Default texture format for PNG/BMP/TIFF/JPEG/GIF images</span><br />
<span style="color: #666666; font-style: italic;">// It can be RGBA8888, RGBA4444, RGB5_A1, RGB565</span><br />
<span style="color: #666666; font-style: italic;">// You can change anytime.</span><br />
<br />
<span style="color: #009900;">&#91;</span>CCTexture2D setDefaultAlphaPixelFormat<span style="color: #339933;">:</span>kCCTexture2DPixelFormat_RGBA8888<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>CCDirector sharedDirector<span style="color: #009900;">&#93;</span> pushScene<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>CCTransitionMoveInB transitionWithDuration<span style="color: #339933;">:</span>0<span style="color: #339933;">.</span>0f scene<span style="color: #339933;">:</span><span style="color: #009900;">&#91;</span>HelloWorldLayer scene<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
</div>
<div> Nótese que el Director está siendo instanciado en este método, y que por defecto  se suele hacer en el  <span style="color: #ff6600;"><strong><em>applicationDidFinishLaunching</em></strong></span>, además pueden apreciar que hay una condicional si es igual al nombre de una notificación, en este caso &#8220;empezarPrueba&#8221;  y el Director hace un pushScene de la escena <span style="color: #ff6600;"><strong>HelloWorldLayer </strong></span>que es la escena Cocos2D que quiero se ejecute. Si quiero varias escenas, basta con hacer varios condicionales IF con los nombres de las notificaciones para cada una.</div>
<div></div>
<div> Los métodos <span style="color: #ff6600;"><em><strong>showUIViewController</strong></em></span> y  <strong><em><span style="color: #ff6600;">hideUIViewController </span></em></strong>tienen por finalidad ejecutar animaciones relacionadas a las llamadas de escenas.</div>
<div></div>
<p>&nbsp;</p>
<h2><span style="color: #000000;"><strong>Clase General</strong></span></h2>
<div></div>
<div></div>
<div></div>
<div><a href="http://phyline.com/blog/wp-content/uploads/2012/04/Captura-de-pantalla-2012-04-01-a-las-20.10.50.png"><img class="aligncenter size-full wp-image-439" title="Tab Bar Controller" src="http://phyline.com/blog/wp-content/uploads/2012/04/Captura-de-pantalla-2012-04-01-a-las-20.10.50.png" alt="" width="452" height="310" /></a></div>
<div></div>
<div>General es una clase UIViewController, que se crea como cualquier otra clase, simplemente vas a File &#8211;&gt; New &#8211;&gt; New File y seleccionamos la clase UiKit que queramos usar. En el XIB colocamos el Tab Bar Controller.</div>
<div></div>
<p>&nbsp;</p>
<div>El contenido de <span style="color: #ff6600;"><em><strong>General.h</strong></em></span> es el siguiente</div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#import &quot;uikit.h&quot;<br />
</span><span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">interface</span> General <span style="color: #339933;">:</span> UIViewController <span style="color: #009900;">&#123;</span><br />
IBOutlet UITabBarController <span style="color: #339933;">*</span>rootController<span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #339933;">@</span>property <span style="color: #009900;">&#40;</span>nonatomic<span style="color: #339933;">,</span> retain<span style="color: #009900;">&#41;</span> IBOutlet UITabBarController <span style="color: #339933;">*</span>rootController<span style="color: #339933;">;</span><br />
<span style="color: #339933;">@</span><a href="http://www.php.net/end"><span style="color: #990000;">end</span></a></div></td></tr></tbody></table></div>
</div>
<div>Es el código que se crea por defecto, de hecho no hay que hacer nada más en el .h ni nada más en el .m.</div>
<div></div>
<p>&nbsp;</p>
<h2><span style="color: #000000;"><em><strong>Clase  PreJuego</strong></em></span></h2>
<div></div>
<div>
<div><em>En<strong> PreJuego.m </strong></em>tenemos un método IBAction, es el que asociaremos al XIB (PreJuego.xib) para que se envíe la notificación al AppDelegate y el Director pueda ejecutar la escena en Cocos2D.</div>
<div></div>
<div><em><strong>¿Por qué crear otra clase para hacer la llamada a la escena en Cocos2D?</strong></em></div>
<div>Esto es así de enrevesado, porque los tabbar funcionan solo con los <em><strong><span style="color: #ff6600;">ViewControllers</span></strong></em>,  y no se puede asociar directamente del TabBar una escena cocos2D, por lo que hay que crear un UIViewController, y dentro de esta clase crear un botón (desde Utilities) , que hace el proceso de notificación de la escena Cocos2D en el AppDelegate.</div>
<div></div>
<div>Este es el código dentro de PreJuego.h</div>
<div></div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#import &quot;uikit.h&quot;<br />
</span><br />
<span style="color: #339933;">@</span><span style="color: #000000; font-weight: bold;">interface</span> PreJuego <span style="color: #339933;">:</span> UIViewController <span style="color: #009900;">&#123;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>IBAction<span style="color: #009900;">&#41;</span> empezarprueba<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span>sender<span style="color: #339933;">;</span><br />
<span style="color: #339933;">@</span><a href="http://www.php.net/end"><span style="color: #990000;">end</span></a></div></td></tr></tbody></table></div>
</div>
<div></div>
<div></div>
<div>Este es el código dentro de PreJuego.m</div>
<div>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>IBAction<span style="color: #009900;">&#41;</span> empezarprueba<span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span>sender<span style="color: #009900;">&#123;</span><br />
<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#91;</span>NSNotificationCenter defaultCenter<span style="color: #009900;">&#93;</span> postNotificationName<span style="color: #339933;">:@</span><span style="color: #0000ff;">&quot;empezarPrueba&quot;</span> object<span style="color: #339933;">:@</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
</div>
<div></div>
<div><span style="color: #ff6600;"><a href="http://phyline.com/blog/codigoCocos2D/uikitcocos/Pruebauikit.zip"><span style="color: #ff6600;">DESCARGAR EL CÓDIGO AQUÍ</span></a></span></div>
<div></div>
<div>Pues eso, ya puedes ejecutar escenas cocos2D desde un Tab Bar. Espero que les ayude y se haya entendido. Si existe alguna duda, pueden escribirme un comentarios abajo.</div>
</div>
<div></div>
<div>Keep it up people!</div>
<div></div>
<div>P.D = perdonen que el código no esté identado, aún no logro que este snippet de WordPress funcionen bien. Grrr!</div>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F04%2Funir-cocos2d-en-una-app-uikit%2F&amp;title=Ejecutar%20Cocos2D%20desde%20un%20Tab%20Bar%20UIKit" id="wpa2a_8"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/04/unir-cocos2d-en-una-app-uikit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Codemotion y Taller de Cocos2D</title>
		<link>http://phyline.com/blog/2012/03/codemotion-y-taller-de-cocos2d/</link>
		<comments>http://phyline.com/blog/2012/03/codemotion-y-taller-de-cocos2d/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 16:26:38 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Codemotion]]></category>
		<category><![CDATA[Introducción Cocos2D]]></category>
		<category><![CDATA[Sofia Swidarowicz]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=370</guid>
		<description><![CDATA[¡Hola! Para iniciar el post debo agradecer a todos los asistentes al taller que impartí de Cocos2D en el gran evento Codemotion, de técnicos para técnicos. A pesar del calor y del error 404 a la hora de descargar el código (no podía dejar de haber algún fail en directo ) creo que ha sido [...]]]></description>
			<content:encoded><![CDATA[<p>¡Hola!</p>
<p>Para iniciar el post debo agradecer a todos los asistentes al taller que impartí de Cocos2D en el gran evento Codemotion, de técnicos para técnicos. A pesar del calor y del error 404 a la hora de descargar el código (no podía dejar de haber algún fail en directo <img src='http://phyline.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) creo que ha sido una increíble experiencia, y satisfizo en todos los niveles mis expectativas. Los que han asistido al taller estaban muy interesados en el tema, y creo que salieron de el aún más interesados en el framework. Espero que a pesar del corto tiempo dedicado a la charla les haya servido de algo.</p>
<p>Y, pues nada, estoy super agradecida por los comentarios positivos y del apoyo de todos vosotros. Por eso ¡GRACIAS!.</p>
<p>Ahora, les dejo la presentación PPT y el código fuente del taller en Cocos2D. Recuerden que dentro (en el código fuente) está una guía que explica paso a paso cada parte del código, e igualmente si tenéis dudas no teman en contactarme bien sea por twitter o mail: phyonline[arroba]gmail[punto]com. Intentaré resolver sus dudas en lo que pueda.</p>
<div id="__ss_12148838" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Introducción a Cocos2D: Evento Codemotion" href="http://www.slideshare.net/phynet/introduccin-a-cocos2d-evento-codemotion" target="_blank">Introducción a Cocos2D: Evento Codemotion</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12148838" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/thecroaker/death-by-powerpoint" target="_blank">PowerPoint</a> from <a href="http://www.slideshare.net/phynet" target="_blank">Sofia Swidarowicz</a></div>
</div>
<p>Descarga Directa Código Fuente: <a href="http://t.co/lPRNbbUF">http://t.co/lPRNbbUF </a></p>
<p>Enlace a Medianet: <a href="http://www.medianet.es/1499/nuestros-companeros-en-codemotion/">http://www.medianet.es/1499/nuestros-companeros-en-codemotion/</a></p>
<p>¡Seguimos!
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F03%2Fcodemotion-y-taller-de-cocos2d%2F&amp;title=Codemotion%20y%20Taller%20de%20Cocos2D" id="wpa2a_10"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/03/codemotion-y-taller-de-cocos2d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NSDictionary Content</title>
		<link>http://phyline.com/blog/2012/03/nsdictionary-content/</link>
		<comments>http://phyline.com/blog/2012/03/nsdictionary-content/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 02:13:07 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[NSDictionary]]></category>
		<category><![CDATA[NSLog]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=360</guid>
		<description><![CDATA[Gracias al  post de Nick Waynick, recordé como se puede hacer un NSLog del contenido de un diccionario JSON (aunque también debería funcionar para cualquier diccionario). Es el clásico código sencillo que olvidas cuando lo quieres usar. A ver si escribiéndolo aquí no lo olvido.]]></description>
			<content:encoded><![CDATA[<p>Gracias al  post de <a href="http://nickwaynik.com/">Nick Waynick</a>, recordé como se puede hacer un NSLog del contenido de un diccionario JSON (aunque también debería funcionar para cualquier diccionario). Es el clásico código sencillo que olvidas cuando lo quieres usar. A ver si escribiéndolo aquí no lo olvido.</p>
<pre class="qoate-code">
NSString *key;
for(key in jsonDictionary){
NSLog(@"Key: %@, Value %@", key, [jsonDictionary objectForKey: key]);
}
</pre>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F03%2Fnsdictionary-content%2F&amp;title=NSDictionary%20Content" id="wpa2a_12"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/03/nsdictionary-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nyan Cat Shoot&#8217;em</title>
		<link>http://phyline.com/blog/2012/02/nyan-cat-shootem/</link>
		<comments>http://phyline.com/blog/2012/02/nyan-cat-shootem/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 13:06:29 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Juego]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=328</guid>
		<description><![CDATA[Idea que tengo para desarrollar un Shooter de Nyan Cat para iPhone, este video está un poco desactualizado (sobretodo porque el Sprite no llegaba al borde superior o inferior del iPhone, cosa que ya está resuelta, y mostraré en una entrega posterior) pero se nota lo qué se puede hacer con Cocos2D for iPhone. He [...]]]></description>
			<content:encoded><![CDATA[<p>Idea que tengo para desarrollar un Shooter de Nyan Cat para iPhone, este video está un poco desactualizado (sobretodo porque el Sprite no llegaba al borde superior o inferior del iPhone, cosa que ya está resuelta, y mostraré en una entrega posterior) pero se nota lo qué se puede hacer con Cocos2D for iPhone. He utilizado para el Scrolling Parallax el tutorial de Ray Wenderlich (por si tenías dudas).</p>
<p><object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/og4flhGHYmQ?version=3&amp;hl=es_ES"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/og4flhGHYmQ?version=3&amp;hl=es_ES" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Nyan nyan nyan nyan nyan
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F02%2Fnyan-cat-shootem%2F&amp;title=Nyan%20Cat%20Shoot%E2%80%99em" id="wpa2a_14"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/02/nyan-cat-shootem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a Videojuegos 2D y Cocos2D</title>
		<link>http://phyline.com/blog/2012/01/introduccion-a-videojuegos-2d-y-cocos2d/</link>
		<comments>http://phyline.com/blog/2012/01/introduccion-a-videojuegos-2d-y-cocos2d/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 09:54:15 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=315</guid>
		<description><![CDATA[Hola, como había comentado anteriormente comparto las láminas de la presentación que usé para la charla, está un poco más tuneada. También comparto el código fuente de como usar sprites y animaciones, que es el inicio para usar cocos2D. Puedes leer en el archivo rtf interno del proyecto una guía completa de qué significa cada [...]]]></description>
			<content:encoded><![CDATA[<p>Hola, como había comentado anteriormente comparto las láminas de la presentación que usé para la charla, está un poco más tuneada. También comparto el código fuente de como usar sprites y animaciones, que es el inicio para usar cocos2D. Puedes leer en el archivo <strong>rtf</strong> interno del proyecto una guía completa de qué significa cada clase, objeto, referencia, etc dentro del código. De todos modos es lo que colocaré a continuación en el próximo post.</p>
<p>Si tienes alguna duda, puedes preguntarme con total confiaza.</p>
<div id="__ss_11347399" style="width: 425px;">
<p><strong style="display: block; margin: 12px 0 4px;"><a title="Kit-Cocos2D" href="http://www.slideshare.net/phynet/kitcocos2d">Kit-Cocos2D</a></strong><object id="__sse11347399" width="425" height="355" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 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="wmode" value="transparent" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kitcocos2d-120131033653-phpapp01&amp;stripped_title=kitcocos2d&amp;userName=phynet" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed id="__sse11347399" width="425" height="355" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=kitcocos2d-120131033653-phpapp01&amp;stripped_title=kitcocos2d&amp;userName=phynet" allowFullScreen="true" allowScriptAccess="always" wmode="transparent" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/phynet">Sofia Swidarowicz</a>.</div>
</div>
<p><strong><span style="color: #993366;">Descargar Código Fuente</span></strong>: <a href="http://phyline.com/blog/codigoCocos2D/kitCocos2D.zip" target="_blank">Aquí</a></p>
<p>&nbsp;</p>
<p><strong>Fotografías empleadas:</strong><br />
Browser Games: www.emezeta.com<br />
PowerPoint Game: Sloked<br />
C++ Game: AhmedOoOR Youtube perfil<br />
Cocos2D: cocos2d.org<br />
Terrain Parallax: iphonegametutorials.com</p>
<p><strong>Bibliografía</strong>:<br />
Oscar García Panella &#8211; Serious Games<br />
Jesse Schell &#8211; The Art of Game Design</p>
<p><strong>Video</strong><br />
Entrevista Ricardo Quesada por RevolucionMobi</p>
<p>&nbsp;
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F01%2Fintroduccion-a-videojuegos-2d-y-cocos2d%2F&amp;title=Introducci%C3%B3n%20a%20Videojuegos%202D%20y%20Cocos2D" id="wpa2a_16"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/01/introduccion-a-videojuegos-2d-y-cocos2d/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Charla sobre Cocos2D</title>
		<link>http://phyline.com/blog/2012/01/charla-sobre-cocos2d/</link>
		<comments>http://phyline.com/blog/2012/01/charla-sobre-cocos2d/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 12:05:36 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Cocos2D]]></category>
		<category><![CDATA[charla]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=302</guid>
		<description><![CDATA[En mi oficina me han propuesto dar un Kit o charla el día 26/01/2011 sobre el entorno de desarrollo Cocos2D for iPhone y cómo comenzar , para todos los desarrolladores que trabajan en Medianet  que quieran conocer sobre ella. Sin embargo, quería aprovechar esta entrada para hacerles saber a los que pasan por aquí queriendo [...]]]></description>
			<content:encoded><![CDATA[<p>En mi oficina me han propuesto dar un Kit o charla el día 26/01/2011 sobre el entorno de desarrollo Cocos2D for iPhone y cómo comenzar , para todos los desarrolladores que trabajan en Medianet  que quieran conocer sobre ella.</p>
<p>Sin embargo, quería aprovechar esta entrada para hacerles saber a los que pasan por aquí queriendo aprender algo en Coco2D que subiré las diapositivas, las preguntas que hagan en la charla el día <strong><span style="color: #ff0000;">28/01/2011</span></strong> y  posteriormente pretendo escribir un tutorial de iniciación del Framework con algunos tips. Se me ocurría incluso traducir algunos post de Ray Wenderlich (pidiendo permiso primero) para aquellos desarrolladores de habla hispana que les cuesta entender el inglés, pero todo con calma.</p>
<p>Eso. Nueva aventura.</p>
<p>Saludos.
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F01%2Fcharla-sobre-cocos2d%2F&amp;title=Charla%20sobre%20Cocos2D" id="wpa2a_18"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/01/charla-sobre-cocos2d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Aplicaciones de Diseño con Pixeles</title>
		<link>http://phyline.com/blog/2012/01/aplicaciones-online-de-diseno-en-pixeles/</link>
		<comments>http://phyline.com/blog/2012/01/aplicaciones-online-de-diseno-en-pixeles/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 13:02:46 +0000</pubDate>
		<dc:creator>phynet</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Imagenes]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Editores]]></category>
		<category><![CDATA[Gráficos]]></category>
		<category><![CDATA[Pixel]]></category>

		<guid isPermaLink="false">http://phyline.com/blog/?p=277</guid>
		<description><![CDATA[En la década de los ochenta los videojuegos no tenían mucho avance en lo que respecta a gráficos, en su mayoría eran empleados sprites de 8 bits o 24 bits que le daban el aspecto que denominamos &#8220;Pixelado&#8220;. Todas las imagenes digitales están conformadas por pequeños pixeles, al ser tan pequeños, tan numerosos y de [...]]]></description>
			<content:encoded><![CDATA[<p>En la <strong>década de los ochenta</strong> los videojuegos no tenían mucho avance en lo que respecta a gráficos, en su mayoría eran empleados <strong>sprites de 8 bits o 24 bits</strong> que le daban el aspecto que denominamos &#8220;<strong><em>Pixelado</em></strong>&#8220;.</p>
<p>Todas las imagenes digitales están conformadas por pequeños pixeles, al ser tan pequeños, tan numerosos y de distintos colores, el ojo los percibe como una imagen. La ciencia de este maravilloso tema, no la voy a explicar aquí porque no soy una experta y seguramente este tópico ya está más que discutido. Sin embargo, como el año que pasó y seguramente en este 2012 seguirá estando de moda el aspecto retro pixelado de los juegos de antaño, he hecho una pequeña lista de <strong>algunas herramientas </strong>que pueden ayudarnos a dibujar imagenes vintage y que podemos utilizar en nuestras aplicaciones.</p>
<p>1.- <strong><span style="color: #333399;"><a href="http://pixieengine.com/">Pixieengine</a></span>:</strong>  Una sencilla herramienta online que permite crear avatares pixelados de 60&#215;60. Puedes almacenarlos en tu cuenta de pixiengine y luego descargar la imagen creada.</p>
<div id="attachment_278" class="wp-caption aligncenter" style="width: 510px"><a href="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-13.48.26.png"><img class="size-large wp-image-278" title="Pixieengine" src="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-13.48.26-1024x512.png" alt="" width="500" height="212" /></a>
<p class="wp-caption-text">Pixieengine</p>
</div>
<p>2.- <strong><a href="http://kyucon.com/qblock/">QBlock</a></strong>: Otra herramienta online para crear imagenes pixeladas, solo que el resultado es en tres dimensiones. Es decir, creas un patrón en 2D y este automáticamente lo transforma a uno 3D. Puedes pasarte horas tratando de hacer una composición decente, al final siempre sale algo interesante, aunque no haya sido lo que tenias en mente. Debo añadir que las gráficas que puedes dibujar en este editor, me recuerdan mucho a las que utiliza el juego Minecraft.</p>
<div id="attachment_282" class="wp-caption aligncenter" style="width: 510px"><a href="http://kyucon.com/qblock/"><img class="size-large wp-image-282" title="QBlock" src="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-13.59.48-1024x622.png" alt="" width="500" height="322" /></a>
<p class="wp-caption-text">QBlock</p>
</div>
<p>&nbsp;</p>
<p>3.- <strong><a href="http://www.makepixelart.com/">Make Pixel Ar</a>t</strong>: Quizá la más completa que las descritas anteriormente, aunque con una limitación, está destinada a los productos Apple. A pesar de este pequeño contratiempo aún puedes probar la versión online (con menos prestaciones que la de pago), en ella puedes hacer desde avatares, hasta wallpapers y pieles para usar en Minecraft. Tiene herramientas muy útiles a la hora de hacer las luces y las sombras cuando dibujas (puedes observarlo en mi detestable intento de dibujar un pez). El producto se vende a un módico precio de 3 dólares para iPad y 1.99 dólares para Mac.</p>
<p>&nbsp;</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.makepixelart.com/"><img class="size-full wp-image-283" title="Captura de pantalla 2012-01-02 a la(s) 14.16.12" src="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-14.16.12.png" alt="" width="500" height="329" /></a>
<p class="wp-caption-text">Make Pixel Art</p>
</div>
<p>4.- <a href="http://piq.codeus.net/">PIQ:</a> Este editor es similar a los 2 primeros, aunque no están sencillo de entender a la primera. Tiene eso sí, más herramientas para crear un diseño pixelado, además cuenta con tutoriales en youtube y una comunidad donde se comparten tips y distintas creaciones. Dejo a continuación un tutorial para empezar a utilizar PIQ.</p>
<p><object style="height: 358px; width: 500;" width="400" height="257" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 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="https://www.youtube.com/v/xy7kheKkS4M?version=3&amp;hl=es_ES" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><embed style="height: 358px; width: 500;" width="400" height="257" type="application/x-shockwave-flash" src="https://www.youtube.com/v/xy7kheKkS4M?version=3&amp;hl=es_ES" allowFullScreen="true" allowScriptAccess="always" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>5.- <a href="https://github.com/philippec/Pixen">Pixen</a>: Es una herramienta open source, la descubrí porque te permiten descargar el código fuente del programa, está desarrollado en XCode y al igual que Make Pixel Art está diseñado para ejecutarse en entorno Mac. Es la que he estado utilizando actualmente para mi proyecto de ocio: un mini juego. La versión es estable, para XCode 4  y puedes descargarla de la cuenta github de su creador Philip Pec https://github.com/philippec/Pixen</p>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 410px"><a href="https://github.com/philippec/Pixen"><img class="size-large wp-image-288" title="Captura de pantalla 2012-01-02 a la(s) 14.37.52" src="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-14.37.52-1024x658.png" alt="" width="400" height="258" /></a>
<p class="wp-caption-text">Pixen- Por último</p>
</div>
<p>6.- Excel &#8211; Open Office: Sí, el legendario sistema de hojas de cálculo puede ser usado (con paciencia) para realizar dibujos pixelados. Para muestra un botón: &#8220;Mario en Excel&#8221;  hecho por mi amigo Gary Ramos que al parecer tiene mucho tiempo para procrastinar con utilidad.</p>
<p><a href="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-14.44.59.png"><img class="aligncenter size-full wp-image-289" title="Captura de pantalla 2012-01-02 a la(s) 14.44.59" src="http://phyline.com/blog/wp-content/uploads/2012/01/Captura-de-pantalla-2012-01-02-a-las-14.44.59.png" alt="" width="480" height="557" /></a></p>
<p>&nbsp;</p>
<p><strong>¿Conoces algún otro programa para hacer diseños con pixeles?</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fphyline.com%2Fblog%2F2012%2F01%2Faplicaciones-online-de-diseno-en-pixeles%2F&amp;title=Aplicaciones%20de%20Dise%C3%B1o%20con%20Pixeles" id="wpa2a_20"><img src="http://phyline.com/blog/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://phyline.com/blog/2012/01/aplicaciones-online-de-diseno-en-pixeles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
