中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于CocoStudio中AtlasLabel控件后臺編碼的一點備注

發布時間:2020-07-18 13:49:17 來源:網絡 閱讀:1197 作者:googlingman 欄目:開發技術

適用版本:CocoStudio 1.4.0.1

我們知道,CocoStudio搭配Cocos2d-x開發是最省力的選擇。但是,要想實現這一點,需要開發者對于示例工作Demo---TestCpp中幾乎所有編碼都要有細致的理解。

問題

在當前的CocoStudio版本中,要實現圖像化顯示數字的一種重要方法就是借助于UI編輯器提供的AtlasLabel控件。這個控件與示例工作Demo---TestCpp中的CCLabelAtlas控件基本是對應的。因此,理解了這里的CCLabelAtlas使用思路,則通過后臺編碼操縱CocoStudio的UI編輯器提供的AtlasLabel控件就非常容易了。


例如,我的UI編輯器提供的AtlasLabel控件設置如下圖所示:

關于CocoStudio中AtlasLabel控件后臺編碼的一點備注

上述控件對應的圖像文件為png格式(其中旋轉的各個字符應該是等寬度的,以便下面使用各個參數獲取之用)。內容為“0123456789”。其中幾個重要參數含義如下:

標簽首字符:要從圖像文件中獲取的第一個字符(其他的字符都以它為起點,因此,這個首字符的確定非常重要,其前面的字符將不會顯示)

  • 標簽字符寬:每個圖形字符的寬度

  • 標簽字符高:每個圖形字符的高度

  • 文本:以后使用控件時要顯示的所有字符的集合(很可能是上述png文件字符內容集合中的一個子集)


技巧:

    在設置上面參數時,特別是調整“標簽字符寬”時,要確保相應控件中要顯示的所有圖形字符都要顯示出來(最好恰好),如上圖心形上面的數字顯示形式。這樣一來,以后通過控件的后臺代碼給控件賦值時,才能保證數字標簽內容正確顯示。


也就是說,上面的參數化設置相當于使用如下后臺代碼初始化了上述控件(FROM FILE ‘UILabelAtlasTest.cpp’):

        UILabelAtlas* labelAtlas = UILabelAtlas::create();
        labelAtlas->setProperty("1234567890", "cocosgui/labelatlas.png", 17, 22, "0");
        labelAtlas->setPosition(ccp((widgetSize.width) / 2, widgetSize.height / 2.0f));
        
        m_pUiLayer->addWidget(labelAtlas);

上述代碼主要是初始化了控件,至于設置控件的實際文本數據則使用如下代碼:

 

   //set string value for labelatlas.
    void setStringValue(const std::string& value);

對于我上面使用CocoStudio創建的UI控件,我使用了如下代碼設置它的實際要顯示的數字字符串值:

   

LabelAtlas* AtlasLabel_1 = static_cast<LabelAtlas*>(ul->getWidgetByName("AtlasLabel_1"));
AtlasLabel_1->setStringValue(CCString::createWithFormat("%d",500)->m_sString);

小結

正確理解UI編輯器中AtlasLabel控件的上述幾個參數的含義至關重要;否則,可能引起后臺代碼的操作混亂,以致于無法正常顯示要顯示的數字串。




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

威海市| 龙州县| 中牟县| 历史| 耿马| 娱乐| 宜城市| 宜春市| 和林格尔县| 临安市| 铁力市| 射洪县| 黑河市| 浠水县| 吴堡县| 吉林市| 登封市| 长沙市| 湖南省| 临武县| 靖西县| 德保县| 冷水江市| 荔浦县| 和平县| 伊川县| 上饶县| 瑞昌市| 华安县| 兰西县| 乌鲁木齐市| 元朗区| 阿坝县| 孟津县| 卢龙县| 长武县| 合山市| 大洼县| 江达县| 彰武县| 芒康县|