• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            f(sixleaves) = sixleaves

            重劍無鋒 大巧不工

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              95 隨筆 :: 0 文章 :: 7 評(píng)論 :: 0 Trackbacks
            @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.shnenglu.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); cocos2dx封裝了一些常用的數(shù)據(jù)結(jié)構(gòu),我們分為兩個(gè)部分介紹。一部分是對(duì)基本數(shù)據(jù)類型,int、float、double、bool的裝箱。一部分是比較復(fù)雜的復(fù)合數(shù)據(jù)結(jié)構(gòu)__String、__Array、__Dictionary、Size、Rect、Point、這些數(shù)據(jù)結(jié)構(gòu)大多數(shù)是用C++方式重寫了OC語言中Foundation框架的接口。所以有OC底子的可以調(diào)過,大概瀏覽即可。
            第一部分:
                  int對(duì)應(yīng)的裝箱是Integer,在cocos2dx中創(chuàng)建這種整數(shù)對(duì)象是用create方法,auto pInt = Integer::create(30);
                  int       ---------auto pInt      = __Integer::create(2);
                  double ---------auto pDouble =  __Double::create(1.0);
                  float    ---------auto pFloat    =  __Float::create(2.0);
            第二部分:
                  復(fù)合數(shù)據(jù)結(jié)構(gòu)
                  __String
                  auto pStr = String::create("cocos2dx");
                  auto pStr2 = String::createWithFormat("I love %s", pStr->getCString());
              bool isEqualEach = pStr->isEqual(pStr2);
              log("%s",isEqualEach == true?"Equal":"not Equal");
                 #結(jié)果是notEqual
                 __Array
                 Array對(duì)象是對(duì)C++中數(shù)組的封裝。Array中的元素是Ref、可以存不同的數(shù)據(jù)類型。
                 創(chuàng)建一個(gè)空數(shù)組,Array::create()
                 增:add系列、addObject 刪:removeXXX系列,代表removeObjectAtIndext() 改:replaceObjectAtIndex()  查:get系列、getIndexOfObject()
                
                 __Dictionary
                 創(chuàng)建字典對(duì)象,auto pDict = Dictionary::create()
                 添加鍵值對(duì),pDict->setObject(obj, "key");
                 刪除鍵對(duì)應(yīng)的值, pDict->removeObjectForKey("someKey");
                 查                 ,pDict->ObjectForKey("someKey");
                 auto pDict = Dictionary::create();
                 auto pV1 = String::create("V1");
                 auto pV2 = String::create("V2");
                 pDict->setObject(pV1, "key1");
                 pDict->setObject(pV2, "key2");
                 String *pStr1 = (String*)pDict->ObjectForKey("key1");
                 String *pStr2 = (String*)pDict->ObjectForKey("key2");
                 log("str1 = %s,str2 = %s", pStr1->getCString(), pStr2->getCString());
                #使用ObjectForKey獲得的是Object對(duì)象,要強(qiáng)制類型轉(zhuǎn)換為你確定的那個(gè)類型。
                Size、Rect、Point
                Size于Rect的區(qū)別是Size只有長(zhǎng)寬的屬性,而Rect還有個(gè)起始點(diǎn)屬性,他們都是表示一塊矩形區(qū)域。
                其中Rect最常使用的是用來判斷某個(gè)點(diǎn)在不再這個(gè)矩形區(qū)域內(nèi)。其實(shí)他們都是對(duì)象,不像OC中是結(jié)構(gòu)體。
                 1     //生成兩個(gè)點(diǎn)
             2     Point point1 = Point(10,10);
             3     Point point2 = Point(60,60);
             4     Point point3;
             5     //點(diǎn)1與x軸的夾角
             6     log("\n點(diǎn)1(%f,%f)與x軸的夾角為:%f",point1.x,point1.y,point1.getAngle());
             7     //兩個(gè)點(diǎn)的夾角
             8     log("\n點(diǎn)1(%f,%f)與點(diǎn)2(%f,%f)的夾角為:%f",point1.x,point1.y,point2.x,point2.y,point1.getAngle(point2));
             9     //兩個(gè)點(diǎn)的距離
            10     log("\n點(diǎn)1(%f,%f)與點(diǎn)2(%f,%f)的距離為:%f",
            11     point1.x,point1.y,point2.x,point2.y,point1.getDistance(point2));
            12     //兩個(gè)點(diǎn)相加
            13     point3 = point1 + point2;
            14     log("\n(%f,%f)+(%f,%f)=(%f,%f)",point1.x,point1.y,point2.x,point2.y,point3.x,point3.y);
            15     //兩個(gè)點(diǎn)相減
            16      point3 = point1-point2;
            17     log("\n(%f,%f)-(%f,%f)=(%f,%f)",point1.x,point1.y,point2.x,point2.y,point3.x,point3.y);
            18     //除法
            19     point3 = point1/2;
            20     log("\n(%f,%f)/2=(%f,%f)",point1.x,point1.y,point3.x,point3.y);
            21     //乘法
            22     point3 = point1*2;
            23     log("\n(%f,%f)+(%f,%f)=(%f,%f)",point1.x,point1.y,point2.x,point2.y,point3.x,point3.y);
            24 
            25     //使用SizeMake創(chuàng)建兩個(gè)Size
            26     Size size1 = Size(10, 20);
            27     Size size2 = Size(50, 60);
            28     Size size3;
            29     //兩個(gè)Size相加
            30     size3 = size1 + size2;
            31     log("size(%f,%f)+size(%f,%f)=size(%f,%f)",size1.width,size1.height,size2.width,size2.height,size3.width,size3.height);
            32     //兩個(gè)Size相減
            33     size3 = size1 - size2;
            34     log("size(%f,%f)-size(%f,%f)=size(%f,%f)",size1.width,size1.height,size2.width,size2.height,size3.width,size3.height);
            35     //Size乘法
            36     size3 = size1*10;
            37     log("size(%f,%f)*10=size(%f,%f)",size1.width,size1.height,size3.width,size3.height);
            38     //Size除法
            39     size3 = size1/10;
            40     log("size(%f,%f)/10=size(%f,%f)",size1.width,size1.height,size3.width,size3.height);
            41 
            42 
            43     //Rect測(cè)試
            44     //生成一個(gè)坐標(biāo)為10,20,寬為50,高為30的矩形區(qū)域
            45     Rect rect = Rect(10, 20, 50, 30);
            46     //生成兩個(gè)點(diǎn)
            47     point1 = Point(15,25);
            48     point2 = Point(100,100);
            49     if (rect.containsPoint(point1)) {
            50         log("rect包含點(diǎn)point1\n");
            51     }else{
            52         log("rect不包含點(diǎn)point1\n");
            53     }
            54     if (rect.containsPoint(point2)) {
            55         log("rect包含點(diǎn)point2\n");
            56     }else{
            57         log("rect不包含點(diǎn)point2\n");
            58     }
            59     //獲取rect矩形區(qū)域最左、右、上、下、中間的坐標(biāo)點(diǎn)
            60     float maxX = rect.getMaxX();
            61     float minX = rect.getMinX();
            62     float maxY = rect.getMaxY();
            63     float minY = rect.getMinY();
            64     float midX = rect.getMidX();
            65     float midY = rect.getMidY();
            66     log("rect的左下角坐標(biāo)為(%f,%f)\n左上角坐標(biāo)為(%f,%f)\n右下角坐標(biāo)為(%f,%f)\n右上角角坐標(biāo)為(%f,%f)\n中點(diǎn)坐標(biāo)為(%f,%f)\n"
            67         ,minX,minY,minX,maxY,maxX,minY,maxX,maxY,midX,midY);
            by sixleaves
            posted on 2014-10-07 23:59 swp 閱讀(3135) 評(píng)論(0)  編輯 收藏 引用 所屬分類: cocos2dx
            99久久www免费人成精品 | 人妻无码久久一区二区三区免费 | 亚洲国产精品久久电影欧美| 久久香蕉超碰97国产精品| 午夜人妻久久久久久久久| 一级做a爱片久久毛片| 久久综合一区二区无码| 伊人久久综合无码成人网| 国产激情久久久久影院小草| 免费精品久久久久久中文字幕 | 久久精品中文字幕无码绿巨人 | 香蕉久久一区二区不卡无毒影院| 久久99精品久久久久久9蜜桃| 婷婷久久久亚洲欧洲日产国码AV| 久久精品九九亚洲精品天堂| 久久99精品久久久久久久久久 | 亚洲日本va中文字幕久久| 青青草国产精品久久久久| 无码任你躁久久久久久老妇App| 久久亚洲高清观看| 久久久久久毛片免费播放| 亚洲国产视频久久| 久久亚洲精品无码播放| 国产99久久久久久免费看| 91精品国产9l久久久久| 亚洲香蕉网久久综合影视| 久久人妻少妇嫩草AV蜜桃| 91精品国产91久久久久久青草| 97精品伊人久久久大香线蕉 | 久久久久久久亚洲Av无码| 伊人久久综合精品无码AV专区| 久久婷婷是五月综合色狠狠| 国产精品欧美久久久久无广告| 7777久久亚洲中文字幕| 91久久婷婷国产综合精品青草 | 人妻无码αv中文字幕久久琪琪布| 久久久久亚洲国产| 亚洲色大成网站www久久九| 日韩人妻无码精品久久久不卡| 人妻无码中文久久久久专区| 国产情侣久久久久aⅴ免费|