cocos2d-lua3.7控件篇(一)-EditBox

举报
鱼酱 发表于 2022/01/06 23:12:23 2022/01/06
4.3k+ 0 0
【摘要】   一、查看EditBox的C++代码 3.7之前版本的uiinput已经没有了,新版本采用的ccui.EditeBox ,通过添加回调函数的方式实现监听。   我们打开UIEditBox.h查看可以使用的方法。 它为我们提供了两个构造函数:   * create a...

一、查看EditBox的C++代码

3.7之前版本的uiinput已经没有了,新版本采用的ccui.EditeBox ,通过添加回调函数的方式实现监听。

我们打开UIEditBox.h查看可以使用的方法。

它为我们提供了两个构造函数:


                   * create a edit box with size.
                   * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
                   */
                  static EditBox* create(const Size& size,
                                         Scale9Sprite* normalSprite,
                                         Scale9Sprite* pressedSprite = nullptr,
                                         Scale9Sprite* disabledSprite = nullptr);
                  /**
                   * create a edit box with size.
                   * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
                   */
                  static EditBox* create(const Size& size,
                                         const std::string& pNormal9SpriteBg,
                                         TextureResType texType = TextureResType::LOCAL);
  
 

二、分析EditBox基本实现

如果仔细分析可以看到,各个平台都实现了自己的editBox,他们都继承并且实现了UIEditBoxImpl

三、使用EditBox

我们如何使用呢?首先自己找个loading-bg.png图片,然后

如下代码


       local editbox = ccui.EditBox:create(cc.size(200,40),"loading-bg.png",ccui.TextureResType.localType)
       editbox:setPosition(100,100)
        self:addChild(editbox)
        local function editboxEventHandler(eventType)
              print(eventType)
            if eventType == "began" then
                -- triggered when an edit box gains focus after keyboard is shown
            elseif eventType == "ended" then
                -- triggered when an edit box loses focus after keyboard is hidden.
            elseif eventType == "changed" then
                -- triggered when the edit box text was changed.
            elseif eventType == "return" then
                -- triggered when the return button was pressed or the outside area of keyboard was touched.
            end
        end
        editbox:registerScriptEditBoxHandler(editboxEventHandler)
  
 

通过控制台我们就可以查看到了。

文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。

原文链接:yujiang.blog.csdn.net/article/details/78708819

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。