cocos2dx文本支持不同颜色的方法

ColorLabel = {} ColorLabel.__index = ColorLabel

function ColorLabel:create( w , h , fontSize ) instance = {}

setmetatable( instance , ColorLabel )
instance.mSize = CCSize( w , h )
instance.mPoint = ccp(0,h)
instance.rt = CCRenderTexture:create( w , h )
instance.fontSize = fontSize
instance.layer = CCSprite:create()
instance.layer:setContentSize( CCSize( w , h ) )
instance.layer:addChild( instance.rt )
return instance

end

function ColorLabel:addString( str , fontName , fontColor ) local pos = 1 local fontSize = self.fontSize local width = self.fontSize local point = self.mPoint while pos <= str:len() do local l = 2 if string.byte(str, pos) >0x80 then l=3 width = fontSize else l=1 width = fontSize / 2 end local label = CCLabelTTF:create(str:sub(pos , pos+l-1),fontName,fontSize) label:setColor(fontColor) label:setAnchorPoint( ccp(0,1) ) self.rt:begin() label:setPosition( point ) label:visit() self.rt:endToLua() pos = pos + l point.x = point.x + width if point.x > self.mSize.width - width then point.x = 0 point.y = point.y - fontSize end

end
self.mPoint = point

end

--[[ cl = ColorLabel:create( 200 , 200 , 40 )

cl.layer:setPosition(ccp(500,500))

cl:addString( "【我是屌丝】" , "Black" , ccc3(255,255,255) )
cl:addString( "获得【武器装备啊】" , "Black" , ccc3(0,255,255) )


scene:addChild( cl.layer )

--]]

转载于:https://my.oschina.net/u/816723/blog/133361

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值