关于CocoStudio中AtlasLabel控件后台编码的一点备注

简介:

适用版本:CocoStudio 1.4.0.1

我们知道,CocoStudio搭配Cocos2d-x开发是最省力的选择。但是,要想实现这一点,需要开发者对于示例工作Demo---TestCpp中几乎所有编码都要有细致的理解。

问题

在当前的CocoStudio版本中,要实现图像化显示数字的一种重要方法就是借助于UI编辑器提供的AtlasLabel控件。这个控件与示例工作Demo---TestCpp中的CCLabelAtlas控件基本是对应的。因此,理解了这里的CCLabelAtlas使用思路,则通过后台编码操纵CocoStudio的UI编辑器提供的AtlasLabel控件就非常容易了。


例如,我的UI编辑器提供的AtlasLabel控件设置如下图所示:

wKiom1Py-mCimq8_AADIrxk-LXw636.jpg

上述控件对应的图像文件为png格式(其中旋转的各个字符应该是等宽度的,以便下面使用各个参数获取之用)。内容为“0123456789”。其中几个重要参数含义如下:

标签首字符:要从图像文件中获取的第一个字符(其他的字符都以它为起点,因此,这个首字符的确定非常重要,其前面的字符将不会显示)

  • 标签字符宽:每个图形字符的宽度

  • 标签字符高:每个图形字符的高度

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


技巧:

    在设置上面参数时,特别是调整“标签字符宽”时,要确保相应控件中要显示的所有图形字符都要显示出来(最好恰好),如上图心形上面的数字显示形式。这样一来,以后通过控件的后台代码给控件赋值时,才能保证数字标签内容正确显示。


也就是说,上面的参数化设置相当于使用如下后台代码初始化了上述控件(FROM FILE ‘UILabelAtlasTest.cpp’):

1
2
3
4
5
         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);

上述代码主要是初始化了控件,至于设置控件的实际文本数据则使用如下代码:

 

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

对于我上面使用CocoStudio创建的UI控件,我使用了如下代码设置它的实际要显示的数字字符串值:

   

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

小结

正确理解UI编辑器中AtlasLabel控件的上述几个参数的含义至关重要;否则,可能引起后台代码的操作混乱,以致于无法正常显示要显示的数字串。

















本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1542076 ,如需转载请自行联系原作者


相关文章
|
4天前
|
算法 定位技术 C语言
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
【python实操】软件安装进展提示进度条如何实现的?如何设置窗体拉伸?如何获取输入框内容?
53 0
|
4天前
|
开发工具
如何使用 Excel VBA 编程,点击按钮后跳转到有数据填充的最末一行
如何使用 Excel VBA 编程,点击按钮后跳转到有数据填充的最末一行
25 2
|
9月前
|
XML 数据格式 C++
WPF-疑难问题-xaml编码导致中文字符编译无效
WPF-疑难问题-xaml编码导致中文字符编译无效
113 0
零基础VB教程016期:frame控件分组制作色板工具-案例实战
零基础VB教程016期:frame控件分组制作色板工具-案例实战
101 0
|
数据处理 C#
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
基于C#的ArcEngine二次开发39:GP工具的使用--界面、参数及示例代码
|
存储 小程序 Java
【笔记11】uniapp点击复制;mysql数据库存储emoji表情;Java 二维码生成;uniapp引入自定义图标
做公司的项目,给微信小程序体验版添加了新的页面,提交测试的时候没有任何效果。上网搜索了解后,知道:若 pages.json 文件发生了变化,尤其是首页路径发生了变化。代码上传成功后,需要在后台手动设置一下首页路径,或者取消体验版,重新生成体验版二维码。
531 0
【笔记11】uniapp点击复制;mysql数据库存储emoji表情;Java 二维码生成;uniapp引入自定义图标
VB源码升级后的几幅截图-VBIDE嵌入窗体、代码资源自动加入
用了整整两天的时间终于完成了功能上的升级,但多国语言版和数据库的加密还不知什么时间能做完,所以一时还不能发布,不过作为“内部人员”倒是可以先用为快:)
528 0
|
C# Java Windows
xps文档打印后winform界面文字丢失
原文:xps文档打印后winform界面文字丢失        最近做的xps文档打印功能,绝对的一波三折,一开始开发的时候,始终用的是xps writer 虚拟打印机,测试的时候也是,一直没有发现问题,但是真正到用户使用的时候,接上正式打印机,打印时候没有问题,一旦打印完成,再次进入打印winfrom的界面就花掉了,如下图;       结果更换了多台电脑,win7、winxp都不行,然后就更换打印机,换了很多打印机也不行,自己写了一个最小的打印的程序,发现打印以后还出现同样的问题。
1198 0

相关实验场景

更多