cocos2dx扩展editBox实现可换行输入框

    游戏开发中,难免会遇到需要输入大量文字的输入框。而cocos2dx-lua自带的输入框EditBox无法实现换行输入,于是笔者就扩展了一下EditBox输入框,使其支持多行输入。

    为避免其他编程伙伴使用的不是cocos2dx或者cocos2dx-lua,笔者先说下设计思想,主要思路是:

一:创建一个支持换行显示的label,用于接收输入框的文字。(因为输入框自带的label不换行)

二:创建一个蒙版,这个蒙版用来遮住原本EditBox自带的label。(不然已经有个label,上面又创建了一个,岂非很尬)

三:事件绑定,在输入框的文字输入事件回调里,将自己创建的label显示为输入框的文字。

下面附上笔者源码:

--region *.lua
--css:2019-04-19
--CTEditBox:custom editbox(自定义编辑框,以支持多行编辑)
local CTEditBox = ccui.EditBox

function CTEditBox:initCT(size,bgUrl,fontSize)                        --size编辑框大小,bgUrl遮住编辑框原文字的背景图路径,fontSize文字大小
    bgUrl=bgUrl or "common_res/img_shirikuang.png"
    size=size or self:getParent():getContentSize()
    fontSize=fontSize or 28
    self:setContentSize(size)
    self:setAnchorPoint(cc.p(0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值