Cocos Lua关于createWithCharMap的使用与理解

先看简单的使用方法:
local num_ = 4
cc.Label:createWithCharMap(“lab_3.png”, 27, 27, string.byte(’/’))
:setPosition(display.cx - 100, display.cy - 50)
:addTo(self)
:setString("/" … num_)

参数:
@图片
@每个数字显示对象的宽度
@高度
@图片中开始的位置(对应ASCII图形)

图片格式

显示结果:
X4

解析:
那么图片就是对应ASCII从47号到57号的位置,
"/“对应图片中的元素就是1号位置"x”
num_就是对应图片中元素的位置


扩展使用:
结合string.gsub(num_, “%.”, “%/”)使用

local num_= 25.9
label:setString(":" … string.gsub(num, “%.”, “%/”))

可能美术给的图片并不是按照ASCII码的顺序给的

显示结果:
-25.9

解析:
string.gsub(num_, “%.”, “%/”) ==>就是将num_中的".“替换成字符”/"
“:“对应图片中的元素就是尾部的”-”
“.“被替换成”/“对应图片中的元素就是1号位置的”.”


扩展使用
label:setString((num < 0 and “.” or “/”) … num_)

这里加减在一张图片的时候

很明显,判断num_的值的正负去选择前缀".“或者”/"对应的图片的元素

扩展使用
_label:setAdditionalKerning(-4) – 这个方法可以调节元素之间显示的间距

你可能感兴趣的:(CocosLua)