﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-积木-随笔分类-cocos2d</title><link>http://www.cppblog.com/Tongy0/category/18424.html</link><description>No sub title</description><language>zh-cn</language><lastBuildDate>Sat, 01 Feb 2014 12:42:46 GMT</lastBuildDate><pubDate>Sat, 01 Feb 2014 12:42:46 GMT</pubDate><ttl>60</ttl><item><title>解析dump操作步骤</title><link>http://www.cppblog.com/Tongy0/archive/2014/01/29/205602.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Wed, 29 Jan 2014 09:42:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2014/01/29/205602.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/205602.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2014/01/29/205602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/205602.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/205602.html</trackback:ping><description><![CDATA[1) 首先需要有andorid sdk包，因为里面有adb工具。同时建议将adb工具所在的目录添加到系统环境变量中。<br />2) 将设备连接到电脑上。<br />3) 将dump_syms传入设备上。命令：adb push xxxxxxxx\xxxx\dump_syms /data/local/tmp<br />4) 将.so文件传入设备上。命令：adb push xxxx\xxxx\xxx.so /sdcard/libgame.so<br />5) 将dump_syms文件置为可读写。命令：chmod 0777 /data/local/tmp/dump_syms<br />6) 用dump_syms解析.so文件。命令：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adb shell<br />&nbsp; &nbsp; &nbsp; cd /data/local/tmp<br />&nbsp; &nbsp; &nbsp; ./dump_syms /sdcard/libgame.so &gt; /sdcard/libgame.so.sym<br />&nbsp; &nbsp; &nbsp; exit<br />7) 将解析出来的符号文件提取出来。命令：adb pull /sdcard/libgame.so.sym xxxx\xxxx<br />8) 用ue等工具，将提取出来的符号文件打开，里面有指纹识别信息。以此指纹信息建立目录。然后将该符号文件放在该目录下。最后再将该目录放到libgame.so目录下<br />9) 用解析出来的符号文件，将相关的dump文件解析出来。命令：minidump_stackwalk.exe 6b4f6cbf-c474-eb78-68ee3e30-3f77c3ba.dmp D:\symbols &gt; D:\dump\6b4f6cbf-c474-eb78-68ee3e30-3f77c3ba.dmp.txt<img src ="http://www.cppblog.com/Tongy0/aggbug/205602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2014-01-29 17:42 <a href="http://www.cppblog.com/Tongy0/archive/2014/01/29/205602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocos2d-x android 环境搭建</title><link>http://www.cppblog.com/Tongy0/archive/2013/12/26/205015.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Thu, 26 Dec 2013 02:20:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/12/26/205015.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/205015.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/12/26/205015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/205015.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/205015.html</trackback:ping><description><![CDATA[说明：以下仅为个人的搭建过程记录摘要。按以下步骤搭建测试成功。参考链接有：<br />0. 引导<br />&nbsp;&nbsp;&nbsp; <a href="http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7">http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7</a><br /><br />&nbsp;&nbsp;&nbsp; <a href="http://www.ityran.com/archives/3223">http://www.ityran.com/archives/3223</a><br /><br />1. cygwin环境搭建<br />&nbsp;&nbsp;&nbsp; <a href="http://woniu1983.iteye.com/blog/1895724">http://woniu1983.iteye.com/blog/1895724</a><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp; <a href="http://www.33lc.com/article/7276_4.html">http://www.33lc.com/article/7276_4.html</a><br /><br />2. android sdk 环境搭建<br />&nbsp;&nbsp;&nbsp; <a href="http://hi.baidu.com/j_key/item/bdfe28f6b1758ad56325d259">http://hi.baidu.com/j_key/item/bdfe28f6b1758ad56325d259</a><br /><br />3. jdk环境搭建.说明该点安装很简单。因此，没有提供相关参考链接。<br /><br />4. android avd 环境搭建.(提示：该点为非本文相关功能介绍，可以不与理会。)<br />&nbsp;&nbsp;&nbsp; <a href="http://shitou521.iteye.com/blog/1074593">http://shitou521.iteye.com/blog/1074593</a><br /><br />
<p><br />cocos2d-x android 环境搭建步骤：<br />1. 下载ndk与cygwin安装包。(都分别从官网可以下得最新免费版本)</p>
<p>2. 安装cygwin。(可能需要挺长时间的)</p>
<p>3. 配置ndk路径。配置方法，可参考：<a href="http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7">http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7</a></p>
<p>4. 下载jdk包。(从官网下载，该包也是免费的)。下载完成后，直接安装。</p>
<p>5. 下载adt。可以从官网下载：adt-bundle。如：本人下载的：adt-bundle-windows-x86-20131030.zip。<br />该包也是免费的。该包中下载下来后，包含：eclips与android sdk两个包。<br />提示：如果下载的不是adt-bundle。则可能需要单独下载eclips与android sdk安装包。<br />下载完成后，解压到指定目录。安装android sdk。即：运行SDK Manager.exe即可。(提示：安装需要很长时间。。)</p>
<p>6. 以上完成后，再下载cocos2d-x相关的sdk包。找到create-android-project.bat。按照：<a href="http://www.ityran.com/archives/3223">http://www.ityran.com/archives/3223</a> 上说明的方法，修改其中的：set _CYGBIN 、set _ANDROIDTOOLS以及set _NDKROOT相关路径。然后就可以有此bat创建自己的cocos2d-x java项目了。</p>
<p>7. 在处理完上面的第6点后。可以用cygwin编译项目。具体为：打开cygwin。然后转到新生成的项目下，执行: build_native.sh<br />编完成后会生成相应的.so。其实就是相当于win下的lib或称为dll吧。</p>
<p>8. 完成7后，再打开eclips，将工程添加进来。(记得也要添加cocos2d-x的工程。并优先编译它。因为我们的项目依赖于它)。编我们的项目，然后再将设备连上，Run As即可。至此，全部介绍结束。<br /><br />-------------------------------------------------------------------------------</p>
<p>ndk下载后，直接解压即可。<br />cygwin安装（需要很长时间）后，需要配置ndk的路径<br />adt就是android sdk。<br />eclipse 正常来说，就已经集成了jdk了。<br />(ndk下载地址：官网)<br />(cygwin下载地址：官网)<br />(adt下载地址：官网)<br />(eclipse标准版下载地址：<a href="http://www.newasp.net/soft/69126.html">http://www.newasp.net/soft/69126.html</a>)<br />(jdk下载地址：<a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html">http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html</a>)</p>
<p>&nbsp;</p><img src ="http://www.cppblog.com/Tongy0/aggbug/205015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-12-26 10:20 <a href="http://www.cppblog.com/Tongy0/archive/2013/12/26/205015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】Win7 下Android NDK + Cygwin环境配置</title><link>http://www.cppblog.com/Tongy0/archive/2013/12/23/204965.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Mon, 23 Dec 2013 08:10:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/12/23/204965.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/204965.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/12/23/204965.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/204965.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/204965.html</trackback:ping><description><![CDATA[<div>原谅转载自：<a href="http://woniu1983.iteye.com/blog/1895724">http://woniu1983.iteye.com/blog/1895724</a><br /><br />
<div style="text-align: left; widows: 2; text-transform: none; text-indent: 0px; font: 12px/18px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; margin-bottom: 15px; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="blog_title">
<h3 style="padding-bottom: 0px; line-height: 1.5em; margin: 0px 0px 0.5em; padding-left: 0px; padding-right: 0px; color: black; font-size: 16px; padding-top: 10px"><a style="color: rgb(16,138,198); text-decoration: underline" href="http://woniu1983.iteye.com/blog/1895724">Win7 下Android NDK + Cygwin环境配置</a><em style="font-style: italic" class="actions"></em></h3>
<ul style="padding-bottom: 0px; list-style-type: none; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" class="blog_categories"><strong style="font-weight: bold">博客分类：</strong><span class="Apple-converted-space">&nbsp;</span><li style="padding-bottom: 0px; list-style-type: none; margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px"><a style="color: rgb(16,138,198); text-decoration: underline" href="http://woniu1983.iteye.com/category/140063">Android</a></li></ul>
<div style="line-height: 20px; margin: 10px 0px 5px; display: block; clear: both" class="news_tag">&nbsp;</div></div>
<div style="text-align: left; widows: 2; text-transform: none; text-indent: 0px; font: 14px/1.8em Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" id="blog_content" class="blog_content">之前一直尝试配置Ubuntu下的环境的，我的Ubuntu12.04是VirtualBox虚拟机下的，整了半天，其他都好了，就是Eclipse下面安装ADT的时候，发现Eclipse连不上网络，查过代理等都没问题，于是本地安装ADT，结果又是和网络上的一样的一堆错误。 时间关系没有整到底，于是还是使用大家通行的Cygwin来吧。<span class="Apple-converted-space">&nbsp;</span><br /><br />巴拉巴拉的介绍就不说了，直接记录步骤吧。<span class="Apple-converted-space">&nbsp;</span><br /><br /><br /><br />1. Android NDK下载<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 下载Windows系统下的版本，至于32位还是64位由你机器而定，我的是Win7 32位，下载的是：android-ndk-r8e-windows-x86.zip<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 电梯直达：<a style="color: rgb(16,138,198); text-decoration: underline" href="http://developer.android.com/tools/sdk/ndk/index.html#Installing" target="_blank">http://developer.android.com/tools/sdk/ndk/index.html#Installing</a><span class="Apple-converted-space">&nbsp;</span><br />&nbsp;<span class="Apple-converted-space">&nbsp;</span><br /><br />2. Cygwin下载<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 下载Setup.exe<span class="Apple-converted-space">&nbsp;</span><br />&nbsp; 电梯直达：<a style="color: rgb(16,138,198); text-decoration: underline" href="http://cygwin.com/install.html" target="_blank">http://cygwin.com/install.html</a><span class="Apple-converted-space">&nbsp;</span><br /><br />3. 安装 Android NDK<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp; 解压缩到某个目录即可，例如我的： E:\DevelopEnviroment\Android\<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp; 解压缩后的文件夹名字如下：android-ndk-r8e<span class="Apple-converted-space">&nbsp;</span><br /><br />4. 安装Cygwin<span class="Apple-converted-space">&nbsp;</span><br />&nbsp;&nbsp; 运行Setup.exe,如下图片是转载自别人的（请见参考Link）<span class="Apple-converted-space">&nbsp;<br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/tongy0/001.jpg" width="546" longdesc="" height="393" /><br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/tongy0/002.jpg" width="546" longdesc="" height="393" /><br /></span></div><br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/tongy0/003.jpg" width="546" longdesc="" height="393" /><br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/tongy0/004.jpg" width="546" longdesc="" height="393" /><br /><br /><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/tongy0/005.jpg" width="463" longdesc="" height="686" /><br /><br /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">5. 运行下Cygwin<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; 第一次运行后，会为你创建当前的用户包括一些环境文件(类似于Linux下的bash文件等等)，下一步我们会修改其中的文件<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">6. 配置NDK环境变量<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; .cygwin的安装目录，找到一个home\&lt;你的用户名&gt;\.bash_profile文件末尾添加如下：<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 其中&#8220;e/DevelopEnviroment/Android/android-ndk-r8e<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&#8221;是表示Android NDK是安装在E:/DevelopEnviroment/Android/android-ndk-r8e<span class="Apple-converted-space">&nbsp;</span></span><br />
<div style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 12px/25px Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="bar">
<div style="text-align: left; padding-bottom: 3px; margin: 0px; padding-left: 3px; padding-right: 3px; color: black; font-weight: bold; padding-top: 3px" class="tools">Shell代码<span class="Apple-converted-space">&nbsp;</span><embed height="15" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" src="http://woniu1983.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" wmode="transparent" flashvars="clipboard=ANDK%3D%2Fcygdrive%2Fe%2FDevelopEnviroment%2FAndroid%2Fandroid-ndk-r8e%0Aexport%20ANDK" quality="high" allowscriptaccess="always">&nbsp;<a style="color: rgb(16,138,198); text-decoration: underline" title="收藏这段代码" onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" class="star" alt="收藏代码" src="http://woniu1983.iteye.com/images/icon_star.png" /></a></div></div>
<ol style="border-bottom: rgb(209,215,220) 1px solid; text-align: left; border-left: rgb(209,215,220) 1px solid; padding-bottom: 2px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: decimal; text-indent: 0px; margin: 0px 0px 1px; padding-left: 0px; padding-right: 0px; font: 12px/1.4em Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(43,145,175); border-top: rgb(209,215,220) 1px solid; border-right: rgb(209,215,220) 1px solid; word-spacing: 0px; padding-top: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="dp-default"><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black"><span style="color: black">ANDK=/cygdrive/e/DevelopEnviroment/Android/android-ndk-r8e&nbsp;&nbsp;</span></span></li><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black">export&nbsp;ANDK&nbsp;&nbsp;</span></li></ol>
<ol style="border-bottom: rgb(209,215,220) 1px solid; text-align: left; border-left: rgb(209,215,220) 1px solid; padding-bottom: 2px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: decimal; text-indent: 0px; margin: 0px 0px 1px; padding-left: 0px; padding-right: 0px; font: 12px/1.4em Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(43,145,175); border-top: rgb(209,215,220) 1px solid; border-right: rgb(209,215,220) 1px solid; word-spacing: 0px; padding-top: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="dp-default"></ol>
<ol style="border-bottom: rgb(209,215,220) 1px solid; text-align: left; border-left: rgb(209,215,220) 1px solid; padding-bottom: 2px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: decimal; text-indent: 0px; margin: 0px 0px 1px; padding-left: 0px; padding-right: 0px; font: 12px/1.4em Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(43,145,175); border-top: rgb(209,215,220) 1px solid; border-right: rgb(209,215,220) 1px solid; word-spacing: 0px; padding-top: 2px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="dp-default"><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">7. 测试NDK环境<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; 输入 cd $ANDK, 进入/cygdrive/e/DevelopEnviroment/Android/android-ndk-r8e<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; 进入/samples/hello-jni项目下，运行$ANDK/ndk-build<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; 输出效果如下：<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" />
<div style="text-align: left; padding-bottom: 1px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; padding-left: 1px; width: 679px; padding-right: 1px; font: 12px/25px Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; word-wrap: break-word; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); margin-left: 9px; overflow: auto; word-break: break-all; word-spacing: 0px; padding-top: 1px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="dp-highlighter">
<div class="bar">
<div style="text-align: left; padding-bottom: 3px; margin: 0px; padding-left: 3px; padding-right: 3px; color: black; font-weight: bold; padding-top: 3px" class="tools">Output代码<span class="Apple-converted-space">&nbsp;</span><embed height="15" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" src="http://woniu1983.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" wmode="transparent" flashvars="clipboard=%24%20%24ANDK%2Fndk-build%0AGdbserver%20%20%20%20%20%20%3A%20%5Barm-linux-androideabi-4.6%5D%20libs%2Farmeabi%2Fgdbserver%0AGdbsetup%20%20%20%20%20%20%20%3A%20libs%2Farmeabi%2Fgdb.setup%0AInstall%20%20%20%20%20%20%20%20%3A%20libhello-jni.so%20%3D%3E%20libs%2Farmeabi%2Flibhello-jni.so" quality="high" allowscriptaccess="always">&nbsp;<a style="color: rgb(16,138,198); text-decoration: underline" title="收藏这段代码" onclick="code_favorites_do_favorite(this);return false;" href="javascript:void()"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" class="star" alt="收藏代码" src="http://woniu1983.iteye.com/images/icon_star.png" /></a></div></div>
<ol style="border-bottom: rgb(209,215,220) 1px solid; border-left: rgb(209,215,220) 1px solid; padding-bottom: 2px; line-height: 1.4em; background-color: rgb(255,255,255); list-style-type: decimal; margin: 0px 0px 1px; padding-left: 0px; padding-right: 0px; color: rgb(43,145,175); font-size: 1em; border-top: rgb(209,215,220) 1px solid; border-right: rgb(209,215,220) 1px solid; padding-top: 2px" class="dp-default"><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black"><span style="color: black">$&nbsp;$ANDK/ndk-build&nbsp;&nbsp;</span></span></li><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black">Gdbserver&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;[arm-linux-androideabi-<span style="color: rgb(192,0,0)" class="number">4.6</span><span style="color: black">]&nbsp;libs/armeabi/gdbserver&nbsp;&nbsp;</span></span></li><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black">Gdbsetup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;libs/armeabi/gdb.setup&nbsp;&nbsp;</span></li><li style="border-left: rgb(209,215,220) 1px solid; padding-bottom: 0px; line-height: 18px; background-color: rgb(250,250,250); margin: 0px 0px 0px 38px; padding-left: 10px; padding-right: 0px; font-size: 1em; padding-top: 0px"><span style="color: black">Install&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;libhello-jni.so&nbsp;=&gt;&nbsp;libs/armeabi/libhello-jni.so&nbsp;&nbsp;</span></li></ol></div><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp; 以上即表明安装完毕。<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;<span class="Apple-converted-space">&nbsp;</span></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">参考Link：<span class="Apple-converted-space">&nbsp;</span></span><a style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(16,138,198); word-spacing: 0px; text-decoration: underline; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" href="http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7" target="_blank">http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246121b30a8e16071405f8f90613441e9120db4a72b24604573ecc589954fdbb0922d288f33712d5cd04e418f4fef961d73d620e106bff60ee7cbe74290b9a5d1c82253dd24756d8081c3045b44&amp;p=c2769a4786cc42a858b1d22454078b&amp;newp=927f861a85cc43ff57ee937e4e55a5231610db2151d4db15&amp;user=baidu&amp;fm=sc&amp;query=Android+NDK+%B1%E0%D2%EB+zlib&amp;qid=&amp;p1=7</a><span style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; display: inline !important; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></span><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><br style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><a style="text-align: left; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 14px/25px Helvetica, Tahoma, Arial, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(16,138,198); word-spacing: 0px; text-decoration: underline; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" href="http://wenku.baidu.com/view/63039e8071fe910ef12df86b.html" target="_blank">http://wenku.baidu.com/view/63039e8071fe910ef12df86b.html</a></ol></div><img src ="http://www.cppblog.com/Tongy0/aggbug/204965.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-12-23 16:10 <a href="http://www.cppblog.com/Tongy0/archive/2013/12/23/204965.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】 Cocos2d-x之Touch事件处理机制</title><link>http://www.cppblog.com/Tongy0/archive/2013/03/10/198325.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Sat, 09 Mar 2013 16:28:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/03/10/198325.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/198325.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/03/10/198325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/198325.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/198325.html</trackback:ping><description><![CDATA[<div>转载自：<a href="http://blog.linguofeng.com/archive/2012/09/12/cocos2d-x-touch.html">http://blog.linguofeng.com/archive/2012/09/12/cocos2d-x-touch.html</a><br /><br />
<h3>一、两种机制的四种不同的事件</h3>
<table class="table table-bordered">
<tbody>
<tr>
<th colspan="2">CCStandardTouchDelegate <span class="label label-info">默认事件</span></th></tr>
<tr>
<td><code>virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);</code></td>
<td>处理按下事件</td></tr>
<tr>
<td><code>virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);</code></td>
<td>处理按下并移动事件</td></tr>
<tr>
<td><code>virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);</code></td>
<td>处理松开事件</td></tr>
<tr>
<td><code>virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);</code></td>
<td>处理打断事件</td></tr></tbody></table>
<table class="table table-bordered">
<tbody>
<tr>
<th colspan="2">CCTargetedTouchDelegate</th></tr>
<tr>
<td><code>virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);</code></td>
<td>处理用户按下事件，true表示继续处理, 否则false.</td></tr>
<tr>
<td><code>virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);</code></td>
<td>处理按下并移动事件</td></tr>
<tr>
<td><code>virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);</code></td>
<td>处理松开事件</td></tr>
<tr>
<td><code>virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);</code></td>
<td>处理打断事件</td></tr></tbody></table>
<p>两者的区别： <code>CCSet</code> 与 <code>CCTouch</code> ，一个事件集合一个单个事件。</p>
<p>事件分发的顺序： <code>CCTargetedTouchDelegate</code> &#8594; <code>CCStandardTouchDelegate</code> 。</p>
<p>默认情况下所有 <code>CCLayer</code> 都没有启用触摸事件，需要 <code>this-&gt;setIsTouchEnabled(true);</code> 启用。</p>
<p>如需更改事件： <code>void registerWithTouchDispatcher(void) {}</code></p><pre class="prettyprint"><span class="kwd">class</span><span class="pln"> </span><span class="typ">MyLayer</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">public</span><span class="pln"> cocos2d</span><span class="pun">:</span><span class="typ">CCLayer</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">public</span><span class="pun">:</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> registerWithTouchDispatcher</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">);</span><span class="pln">

    </span><span class="com">// addStandardDelegate()</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchesBegan</span><span class="pun">(</span><span class="typ">CCSet</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouches</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchesMoved</span><span class="pun">(</span><span class="typ">CCSet</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouches</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchesEnded</span><span class="pun">(</span><span class="typ">CCSet</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouches</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchesCancelled</span><span class="pun">(</span><span class="typ">CCSet</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouches</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">

    </span><span class="com">// addTargetedDelegate()</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">bool</span><span class="pln"> ccTouchBegan</span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouch</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchMoved</span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouch</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchEnded</span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouch</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
    </span><span class="kwd">virtual</span><span class="pln"> </span><span class="kwd">void</span><span class="pln"> ccTouchCancelled</span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouch</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="kwd">void</span><span class="pln"> </span><span class="typ">MyLayer</span><span class="pun">::</span><span class="pln">registerWithTouchDispatcher</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="com">// 委托，优先级</span><span class="pln">
    </span><span class="typ">CCTouchDispatcher</span><span class="pun">::</span><span class="pln">sharedDispatcher</span><span class="pun">()-&gt;</span><span class="pln">addStandardDelegate</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> kCCMenuTouchPriority</span><span class="pun">);</span><span class="pln">
    </span><span class="com">// 委托，优先级，是否继续处理</span><span class="pln">
    </span><span class="typ">CCTouchDispatcher</span><span class="pun">::</span><span class="pln">sharedDispatcher</span><span class="pun">()-&gt;</span><span class="pln">addTargetedDelegate</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> kCCMenuTouchPriority</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">

    </span><span class="com">// 2.0版本以后</span><span class="pln">
    </span><span class="typ">CCDirector</span><span class="pun">::</span><span class="pln">sharedDirector</span><span class="pun">()-&gt;</span><span class="pln">getTouchDispatcher</span><span class="pun">()-&gt;</span><span class="pln">addStandardDelegate</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> kCCMenuHandlerPriority</span><span class="pun">);</span><span class="pln">
    </span><span class="typ">CCDirector</span><span class="pun">::</span><span class="pln">sharedDirector</span><span class="pun">()-&gt;</span><span class="pln">getTouchDispatcher</span><span class="pun">()-&gt;</span><span class="pln">addTargetedDelegate</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> kCCMenuHandlerPriority</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span></pre></section><section id="2">
<div class="page-header">
<h3>二、 如果实现回调函数？</h3></div>
<p>利用 <code>ccTouchBegan</code> 或 <code>ccTouchesBegan</code> 加以实现点击的回调</p><pre class="prettyprint"><span class="kwd">void</span><span class="pln"> </span><span class="typ">MyLayer</span><span class="pun">::</span><span class="pln">ccTouchesBegan</span><span class="pun">(</span><span class="typ">CCSet</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouches</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CCEvent</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pEvent</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="com">// 单点</span><span class="pln">
    </span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pTouch </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pun">*)(</span><span class="pln">pTouches</span><span class="pun">-&gt;</span><span class="pln">anyObject</span><span class="pun">());</span><span class="pln">

    </span><span class="com">// 所有点</span><span class="pln">
    </span><span class="kwd">for</span><span class="pun">(</span><span class="typ">CCSetIterator</span><span class="pln"> iterTouch </span><span class="pun">=</span><span class="pln"> pTouches</span><span class="pun">-&gt;</span><span class="kwd">begin</span><span class="pun">();</span><span class="pln"> iterTouch </span><span class="pun">!=</span><span class="pln"> pTouches</span><span class="pun">-&gt;</span><span class="kwd">end</span><span class="pun">();</span><span class="pln"> iterTouch</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="typ">CCTouch</span><span class="pln"> </span><span class="pun">*</span><span class="pln">pCurTouch </span><span class="pun">=</span><span class="pln">  </span><span class="pun">(</span><span class="typ">CCTouch</span><span class="pun">*)(*</span><span class="pln">iterTouch</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="com">// 获取点在视图中的坐标（左上角为原点）</span><span class="pln">
    </span><span class="typ">CCPoint</span><span class="pln"> touchLocation </span><span class="pun">=</span><span class="pln"> pTouch</span><span class="pun">-&gt;</span><span class="pln">getLocationInView</span><span class="pun">();</span><span class="pln">
    </span><span class="com">// 把点的坐标转换成OpenGL坐标（左下角为原点）</span><span class="pln">
    touchLocation </span><span class="pun">=</span><span class="pln"> </span><span class="typ">CCDirector</span><span class="pun">::</span><span class="pln">sharedDirector</span><span class="pun">()-&gt;</span><span class="pln">convertToGL</span><span class="pun">(</span><span class="pln">touchLocation</span><span class="pun">);</span><span class="pln">
    </span><span class="com">// 把OpenGL的坐标转换成CCLayer的坐标</span><span class="pln">
    </span><span class="typ">CCPoint</span><span class="pln"> </span><span class="kwd">local</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> convertToNodeSpace</span><span class="pun">(</span><span class="pln">touchLocation</span><span class="pun">)</span><span class="pln">
    </span><span class="com">// 大小为100x100，坐标为(0, 0)的矩形</span><span class="pln">
    </span><span class="typ">CCRect</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> rect </span><span class="pun">=</span><span class="pln"> </span><span class="typ">CCRectMake</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100</span><span class="pun">);</span><span class="pln">
    </span><span class="com">// 判断该坐标是否在rect矩形内</span><span class="pln">
    </span><span class="kwd">bool</span><span class="pln"> flag </span><span class="pun">=</span><span class="pln"> rect</span><span class="pun">.</span><span class="pln">containsPoint</span><span class="pun">(</span><span class="kwd">local</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">if</span><span class="pun">(</span><span class="pln">flag</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// 回调</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// 不执行</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span></pre><br /><br /></div><img src ="http://www.cppblog.com/Tongy0/aggbug/198325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-03-10 00:28 <a href="http://www.cppblog.com/Tongy0/archive/2013/03/10/198325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转载】 图片放大或缩小时使用抗锯齿</title><link>http://www.cppblog.com/Tongy0/archive/2013/03/05/198228.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Tue, 05 Mar 2013 05:52:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/03/05/198228.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/198228.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/03/05/198228.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/198228.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/198228.html</trackback:ping><description><![CDATA[<div>转载：<a href="http://blog.csdn.net/bill_man/article/details/7250922">http://blog.csdn.net/bill_man/article/details/7250922</a><br /><br />抗锯齿<br /><br />
<p>当我们缩放图的时候，我们总会遇到图片出现失真和锯齿的时候，<span style="font-family: Times New Roman">cocos2d-x</span><span style="font-family: 宋体">支持一些方法</span>可以解决这些问题</p>
<p>（1）加入抗锯齿，解决放大时的锯齿</p><img alt="" src="http://hi.csdn.net/attachment/201202/11/0_1328943577SyVb.gif" /><br />
<p>&nbsp;</p>
<p>左边抗锯齿，右边正常，效果队比，左边使用sprite-&gt;getTexture()-&gt;setAntiAliasTexParameters();就可以达到这个效果，右边使用的是sprite2-&gt;getTexture()-&gt;setAliasTexParameters();</p>
<p>(2) 使用<span style="font-family: Times New Roman">minmap</span><span style="font-family: 宋体">，缩小时效果会更好，左边使用</span><span style="font-family: Times New Roman">minmap</span></p>
<p><span style="font-family: Times New Roman"><img alt="" src="http://hi.csdn.net/attachment/201202/11/0_1328943583kxJR.gif" /><br /></span></p>
<p><span style="font-family: Times New Roman"></span></p>
<p>如下的方法在定义贴图时生成<span style="font-family: Times New Roman">minmap</span><span style="font-family: 宋体">即可</span></p><br />
<p><span style="font-family: Times New Roman"><img alt="" src="http://hi.csdn.net/attachment/201202/11/0_1328943587aF45.gif" /><br /></span></p>
<p><span style="font-family: Times New Roman"></span></p>
<p>然后用贴图去声明精灵即可</p></div> <img src ="http://www.cppblog.com/Tongy0/aggbug/198228.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-03-05 13:52 <a href="http://www.cppblog.com/Tongy0/archive/2013/03/05/198228.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocos2d-x 切换高清</title><link>http://www.cppblog.com/Tongy0/archive/2013/03/05/198227.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Tue, 05 Mar 2013 05:50:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2013/03/05/198227.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/198227.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2013/03/05/198227.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/198227.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/198227.html</trackback:ping><description><![CDATA[转载：<a href="http://blog.csdn.net/bill_man/article/details/7250922">http://blog.csdn.net/bill_man/article/details/7250922</a><br /><br />切换高清<br /><br />
<p>随着硬件技术的提高，提供了更好的画面，我们可以通过如下的方法来切换高清</p>
<p>CCDirector::sharedDirector()-&gt;enableRetinaDisplay(true);</p>
<p>参数是<span style="font-family: Times New Roman">true</span><span style="font-family: 宋体">，就是开启高清，为</span><span style="font-family: Times New Roman">false</span><span style="font-family: 宋体">就是关闭高清，当然目前应该是</span><span style="font-family: Times New Roman">iphone4</span><span style="font-family: 宋体">和</span><span style="font-family: Times New Roman">itouch4</span><span style="font-family: 宋体">及以上支持这种&#8220;视网膜&#8221;显示。当你开启这个时，你的游戏图片会自动变为&#8220;原图片名（除后缀名</span><span style="font-family: Times New Roman">+"-hd."+</span><span style="font-family: 宋体">后缀名），如果文件不存在会继续使用原图。</span></p><img src ="http://www.cppblog.com/Tongy0/aggbug/198227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2013-03-05 13:50 <a href="http://www.cppblog.com/Tongy0/archive/2013/03/05/198227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cclayer的触摸处理(ccTouch)</title><link>http://www.cppblog.com/Tongy0/archive/2012/04/11/170884.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Wed, 11 Apr 2012 04:08:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2012/04/11/170884.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/170884.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2012/04/11/170884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/170884.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/170884.html</trackback:ping><description><![CDATA[<div>好久没有写博客了。这里记录一点关于ccLayer的触摸处理的记录，怕将来忘记。<br />要使用ccLayer，必要要处理它的触摸响应。否则就少了必要的交互。<br />关于ccLayer的触摸有两种类型。<br />1) 单点触摸<br />2) 多点触摸<br />下面分别总结一下：<br />1) 单点触摸<br />要使用单点触摸，必须要重写以下几个接口：<br />&nbsp;virtual void onEnter();//必须<br />&nbsp;virtual void onExit();//必须<br />&nbsp;virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);//必须<br />&nbsp;virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);//可选，但一般情况下要<br />&nbsp;virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);//可选，但一般情况下要<br />&nbsp;virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);//可选<br />a) onEnter();接口。在此接口中，需要调用父类的该接口，并且最重要的，要为当前对象注册一个触摸委托(即：代理)。参考如下代码：<br />&nbsp;CCLayer::onEnter();<br />&nbsp;CCTouchDispatcher::sharedDispatcher()-&gt;addTargetedDelegate(this, 0, true);<br />b) onExit();接口。在此接口中，需要将在onEnter()中注册的当前对象的触摸委托给移除掉。然后调用父类的onExit();。参考代码如下：<br />&nbsp;CCTouchDispatcher::sharedDispatcher()-&gt;removeDelegate(this);<br />&nbsp;CCLayer::onExit();<br />c) ccTouchBegan();该接口，细心的人可能会发现，就它是返回bool的。它的返回值决定着，后续的ccTouchMoved();ccTouchEnded();ccTouchCancelled();是否触发。只有返回true时才触发。<br />关于ccTouchBegan();ccTouchMoved();ccTouchEnded();ccTouchCancelled();的作用，在此我就不多说了。看名字我想就应该能清楚。<br /><br />2) 多点触摸<br />要使用多点触摸。则只需要实现重写如下几个接口，即可：<br />&nbsp;virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);<br />&nbsp;virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);<br />&nbsp;virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);<br />它们的作用我也不多说。下面简要介绍下CCSet*对象。它存储着所有的触摸信息。即：遍历它，可以处理所有的触摸点响应。其他的用法同单点触摸一样。<br />注意：用多点触摸时，不需要注册上面第 1) 点中的a)与b)小点的信息。(如果我没记错的话，处理了，可能会让程序蹦掉。)</div><img src ="http://www.cppblog.com/Tongy0/aggbug/170884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2012-04-11 12:08 <a href="http://www.cppblog.com/Tongy0/archive/2012/04/11/170884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocs2d中关于位置相关的一点笔记</title><link>http://www.cppblog.com/Tongy0/archive/2012/02/01/164763.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Wed, 01 Feb 2012 01:48:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2012/02/01/164763.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/164763.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2012/02/01/164763.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/164763.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/164763.html</trackback:ping><description><![CDATA[CCDirector::sharedDirector()-&gt;getWinSize();<br />CCSprite::setPosition(...);<br />CCSprite::getPosition();<br /><br />以上这些都是以 点 为单位的（不是像素）。<br /><span style="color: red">猜测：所有在cocos2d中有关x与y有关的，应该都是以点为单位。</span><img src ="http://www.cppblog.com/Tongy0/aggbug/164763.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2012-02-01 09:48 <a href="http://www.cppblog.com/Tongy0/archive/2012/02/01/164763.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocos2d-场景的一小点总结</title><link>http://www.cppblog.com/Tongy0/archive/2012/01/18/164328.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Wed, 18 Jan 2012 02:31:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2012/01/18/164328.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/164328.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2012/01/18/164328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/164328.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/164328.html</trackback:ping><description><![CDATA[<div>1) 场景创建出来后，如果有autorelease。则在该场景被替换掉时，先前场景将被释放。（这点在cc的管理器中有注释说明）<br />2) 场景创建出来后，如果没有autorelease。则在被添加进管理器后，请一定要release一次。否则将会有内存泄漏</div><img src ="http://www.cppblog.com/Tongy0/aggbug/164328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2012-01-18 10:31 <a href="http://www.cppblog.com/Tongy0/archive/2012/01/18/164328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocos2d-菜单的一小点总结</title><link>http://www.cppblog.com/Tongy0/archive/2012/01/18/164327.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Wed, 18 Jan 2012 02:25:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2012/01/18/164327.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/164327.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2012/01/18/164327.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/164327.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/164327.html</trackback:ping><description><![CDATA[<div>1) CCMenuItem*对象在创建出来后并添加到CCMenu*对象后，只要CCMenu对象有释放，CCMenuItem*对象也将被释放。即：CCMenuItem*对象不需要再将释放。。否则可能会蹦。<br />2) CCMenu*对象被addChild到父对象后，最后只要remove出来就可以。remove出来后，CCMenu*对象就被释放掉。（原因：因为CCMenu*对象被创建出来时，它是autorelease()的）<br /><br />
<p>&nbsp;ccColor3B color;<br />&nbsp;color.r = 0;<br />&nbsp;color.g = 0;<br />&nbsp;color.b = 255;<br />&nbsp;m_pPlayMenuItem = CCMenuItemFont::itemFromString("Play", this, menu_selector(CWelcomeScene::OnPlayGameMenuItemClicked));<br />&nbsp;((CCMenuItemFont*)m_pPlayMenuItem)-&gt;setFontSizeObj(12);<br />&nbsp;((CCMenuItemFont*)m_pPlayMenuItem)-&gt;setColor(color);<br />&nbsp;<br />&nbsp;color.r = 255;<br />&nbsp;color.g = 0;<br />&nbsp;color.b = 0;<br />&nbsp;m_pExitMenuItem = CCMenuItemFont::itemFromString("Exit", this, menu_selector(CWelcomeScene::OnExitMenuItemClicked));<br />&nbsp;((CCMenuItemFont*)m_pExitMenuItem)-&gt;setFontSizeObj(12);<br />&nbsp;((CCMenuItemFont*)m_pExitMenuItem)-&gt;setColor(color);</p>
<p>&nbsp;if (NULL == m_pMenu)<br />&nbsp;{<br />&nbsp;&nbsp;m_pMenu = CCMenu::menuWithItems(m_pPlayMenuItem, m_pExitMenuItem, NULL);<br />&nbsp;&nbsp;this-&gt;addChild(m_pMenu, 1);<br />&nbsp;&nbsp;m_pMenu-&gt;alignItemsVerticallyWithPadding(0.0f);<br />&nbsp;}
<hr />
</p>
<p>&nbsp;m_pPlayMenuItem = CCMenuItemImage::itemFromNormalImage(g_pcszStartNormalMI, g_pcszStartSelectedMI, this, menu_selector(CWelcomeScene::OnPlayGameMenuItemClicked));<br />&nbsp;m_pExitMenuItem = CCMenuItemImage::itemFromNormalImage(g_pcszCloseNormalMI, g_pcszCloseSelectedMI, this, menu_selector(CWelcomeScene::OnExitMenuItemClicked));&nbsp;<br />&nbsp;m_pPlayMenuItem-&gt;setScale(0.4f);</p>
<p>&nbsp;m_pMenu = CCMenu::menuWithItems(m_pPlayMenuItem, m_pExitMenuItem, NULL);<br />&nbsp;this-&gt;addChild(m_pMenu, 1);</p>
<p>&nbsp;float fX = GetCurrentWinSize(true).width / 2.0f - 10.0f;<br />&nbsp;float fY = -(GetCurrentWinSize(false).height / 2.0f) + 5.0f;<br />&nbsp;m_pExitMenuItem-&gt;setAnchorPoint(ccp(1.0, 0.0f));<br />&nbsp;m_pExitMenuItem-&gt;setPosition(ccp(fX, fY));</p>
<p>&nbsp;fX -= m_pExitMenuItem-&gt;getContentSize().width + 2.0f;<br />&nbsp;fY -= 2.0f;<br />&nbsp;m_pPlayMenuItem-&gt;setAnchorPoint(ccp(1.0f, 0.0f));<br />&nbsp;m_pPlayMenuItem-&gt;setPosition(ccp(fX, fY));</p>
<p><br /><br /></p></div><img src ="http://www.cppblog.com/Tongy0/aggbug/164327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2012-01-18 10:25 <a href="http://www.cppblog.com/Tongy0/archive/2012/01/18/164327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CCSprite的动作总结</title><link>http://www.cppblog.com/Tongy0/archive/2011/12/30/163192.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Fri, 30 Dec 2011 10:23:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2011/12/30/163192.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/163192.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2011/12/30/163192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/163192.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/163192.html</trackback:ping><description><![CDATA[CCSprite的动作总结<br /><br />1) CCAction如果是用具体类的actionWithFile(.....)或类似这样的接口的，则系统默认都是有自动维护引用计数的。即：这类对象创建出来后我们不需要释放。<br />2) CCSprite::runAction()接口请<span style="color: red"><strong>一定要</strong></span>与CCSprite::stopAction()或CCSprite::stopAllActions()配合使用。<br />3) CCSprite在执行CCMoveTo动作时，此时如果再对其设置帧动画动作，则这两个动作将是会共存执行的。<br />------<br />以上3点很重要。<img src ="http://www.cppblog.com/Tongy0/aggbug/163192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2011-12-30 18:23 <a href="http://www.cppblog.com/Tongy0/archive/2011/12/30/163192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cocos2d中的几个类</title><link>http://www.cppblog.com/Tongy0/archive/2011/12/26/162874.html</link><dc:creator>Jacc.Kim</dc:creator><author>Jacc.Kim</author><pubDate>Mon, 26 Dec 2011 13:53:00 GMT</pubDate><guid>http://www.cppblog.com/Tongy0/archive/2011/12/26/162874.html</guid><wfw:comment>http://www.cppblog.com/Tongy0/comments/162874.html</wfw:comment><comments>http://www.cppblog.com/Tongy0/archive/2011/12/26/162874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Tongy0/comments/commentRss/162874.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Tongy0/services/trackbacks/162874.html</trackback:ping><description><![CDATA[<div>在介绍前，先介绍说几点：<br />像opengl、directx是没有自带界面的，不过cocos可以为我们创建一个主界面，以用于显示游戏场景等。该主界面由CCDirector类实例实现。<br />cocos2d中所有需要用到的类，基本上都继承自CCObject类。它维护一个引用计数。所有从CCObject出来的类，都可以添加到自动释放池中进行自动维护。（与objective-c中的对象有点类似）<br />多数情况下，我们使用的对象，还是从CCNode出来的。CCNode是继承自CCObject的一个类。<br /><br />下面简要介绍下各个主要类的功能<br />1) CCDirector<br />主要功能一：负责生成一个游戏主界面及游戏的初始化并。并在该界面上，渲染游戏场景。<br />主要功能二：负责控制各游戏场景间的相互切换。<br />主要功能三：负责初始化设置游戏的一些重要属性。如：游戏渲染的帧率。游戏视窗的尺寸（即：960 X 640 还是 480 X 320等）<br />主要功能四：负责清空游戏中的缓存数据（个人认为这个还是很重要的。因为到了手机上的游戏，硬内存不多，及时清除是很有必要的）<br />注意：该对象是单实例的，不需要用户维护。<br /><br />2) CCScene<br />游戏中的场景类。当程序启动后，必须要为其设置一个场景，然后所有的对象在场景中场景。<br />主要功能：负责接收游戏中的任何对象。并将它们展现出来（如果可以展现的话，如：CCSprite等）<br />习惯上，用其维护多个的CCLayer<br /><br />3) CCLayer<br />游戏中的层。习惯上，用其对资源展现进行布局管理。<br /><br />4) CCSprite<br />游戏中的精灵对象。游戏中，必不可少的。会用到许多的可视对象。这些，多数都是精灵对象。<br /><br />5) CCTargetedTouchDelegate<br />触摸响应类。提供响应触摸响应开始结束、触摸移动以及取消触摸几个接口。多是需要在其派生类中进行具体实现。如：一个精灵，<br />可支持触摸功能，则它需要自行实现这些接口。<br /><br />以上只是简单介绍cocos2d中的几个较为主要及常用的类。初学，如有介绍不对的，请大家不吝指点。共同学习，共同进步。<br /></div><img src ="http://www.cppblog.com/Tongy0/aggbug/162874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Tongy0/" target="_blank">Jacc.Kim</a> 2011-12-26 21:53 <a href="http://www.cppblog.com/Tongy0/archive/2011/12/26/162874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>