<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                本站文章均為[?李華明Himi?](http://www.himigame.com/about-himi)原創,轉載務必在明顯處注明: 轉載自[【黑米GameDev街區】](http://www.himigame.com/)?原文鏈接:?[http://www.himigame.com/iphone-cocos2dx/703.html](http://www.himigame.com/iphone-cocos2dx/703.html "【iOS-cocos2d-X") [? 點擊訂閱 ?](http://list.qq.com/cgi-bin/qf_invite?id=acfc24e272cc4a26debf3b3866edb626a9ea3fc80fd8893c)**?本博客最新動態!及時將最新博文通知您! 本章講解的是幾個細節問題,但是此細節有可能導致一系列問題,那么今天Himi與童鞋們共同交流分享下; 一. 對于CCSprite 與 CCNode ?是都很常用的類,那么基礎使用方法這里不贅述,但是CCSprite 與 CCNode在進行添加子類時可能有些童鞋遇到過問題,下面我們詳細看下: 首先給出代碼段1: ~~~ CCSprite* sp = CCSprite::spriteWithFile("Icon.png"); sp->setPosition(ccp(200,200)); sp->addChild(CCSprite::spriteWithFile("Icon.png")); this->addChild(sp); //this 是個Layer ~~~ 索引圖片名直接創建個精靈A,然后A add 子類精靈,最后將A添加Layer中,沒說的,eazy,不解釋; 那么再看下面代碼段2: ~~~ CCSprite* sp = new CCSprite(); sp->setPosition(ccp(200,200)); sp->addChild(CCSprite::spriteWithFile("Icon.png")); this->addChild(sp); //this 是個Layer ~~~ 順序和功能跟代碼段1一樣,但當你運行后發現程序異常!原因是sp 中并沒有真正的初始化,而僅僅簡單的申請了一塊內存而已; 解決方案:仍然調用CCSprite公開的幾個構造函數即可; ~~~ CCSprite* sp = new CCSprite(); //CCSprite構造下 sp->initWithFile("Icon.png"); sp->setPosition(ccp(200,200)); sp->addChild(CCSprite::spriteWithFile("Icon.png")); this->addChild(sp); ~~~ 此問題比較容易理解,但是當我們出現以上問題時,肯定是想不想創建一個精靈時傳入資源,所以會使用new方式來使用,那么如果你想創建一個沒有貼圖的精靈可以按照如下方式實現: ~~~ CCSprite* sp = (CCSprite*)CCNode::node(); sp->setPosition(ccp(200,200)); sp->addChild(CCSprite::spriteWithFile("Icon.png")); this->addChild(sp); ~~~ 利用Node::node初始化數據后強轉給CCSprite子類即可;話說回來既然如此到不如使用CCNode來的方便?!沒錯,如果你想封裝一個精靈,并往里添加子精靈,那么創建這個精靈如不想使用資源創建,那么推薦使用CCNode,(自定義類型繼承CCNode),另一方面如果創建這個精靈可以索引到資源,可以繼承CCSprite,沒問題; 值得注意的是: 當你自定義A類繼承精靈類CCSprite,使用new形式創建A類一個精靈后并addChild子精靈,一般不會造成程序異常,而且正常運行在iOS上,但是當你編譯后運行Android上之后會發現精靈都是白色塊的情況,如下前后對比圖: iOS運行截圖: ![](https://box.kancloud.cn/2016-03-31_56fcd023436e5.png) 編譯Android運行截圖: ![](https://box.kancloud.cn/2016-03-31_56fcd0236113f.png) 二. 在cocos2dx中使用CCUserDefault的時候要注意,官方微薄也已提示,在當你setStringxxx、setBoolxxx等數據后要調用CCUserDefault的flush()函數,只有當你flush()了,才會將數據以xml格式保存本地App->Documents目錄中! 三.在cocos2dx中使用pvr.ccz格式的圖片時候跟cocos2d的使用有一點區別,在cocos2d中加載pvr.ccz的圖片資源不用去管大小和尺寸(當然為了兼容老代機器,推薦1024*1024),但是在Cocos2dx中當你的pvr.ccz的資源大小寬高不是正方形的話(2 的N次冪),會在控制臺提示警告,并且!雖然程序能正常運行,但是在編譯后Android上無法正常顯示,是顯示圖片為白色塊!所以這點也要注意;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看