动态创建 精灵组成的数字

newNode:function(type)

    {

        var node = new cc.Node()

        if(type && global.core.isFunction(type)) {

            return node.addComponent(type)

        }

        return node

    },

 

    // 创建一个由精灵组成的数字

    newNumber : function (number, numType = 1, forcenum = 0, offsetX = 0, is_center = false) {

        //返回整数数字node,左对齐;,numType 图片种类

        // forcenum 补齐长度,如:123, 补齐为6, 则为:000123

 

        var numStr = "" + number

        var length = numStr.length

        // 补齐

        if( forcenum != 0 && length < forcenum) {

            for(var i = 0; i < forcenum - length; i++) {

                numStr = "0" + numStr

            }

            length = numStr.length

        }

 

        var node = this.newNode()

        node.setAnchorPoint(0.5,0.5)

        var width = 0

        var height = 0

        var total_width = 0

        for(var i = 0; i < length; i++) {

            var s = numStr.charAt(i)

            var sprite = this.newNode(cc.Sprite)

            var name = "number/num_" + numType + "_" + s

            sprite.spriteFrame = global.ResMgr.getSpriteFrame(name, true)

 

            sprite.node.setAnchorPoint(0,0.5)

            sprite.node.setPosition(width, 0)

            

            sprite.node.parent = node

            sprite.node.tag = i

            var size = sprite.node.getContentSize()

            width = width + size.width + offsetX * 2

            var h = size.height

            if(height < h) {

                height = h

            }

            node.setContentSize(width,height)

            total_width += size.width + offsetX * 2

        }

 

        if(is_center) {

            var start_x = 0 - total_width / 2

            for (var index = 0; index < node.childrenCount; index++) {

                var child = node.children[index]

                child.x = start_x

                start_x += child.width + offsetX * 2

            }

        }

 

        node.setPosition(0, 0)

        return node

    },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值