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

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

 

一、查看EditBox的C++代码

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

 

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

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

 


  
  1. * create a edit box with size.
  2. * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
  3. */
  4. static EditBox* create(const Size& size,
  5. Scale9Sprite* normalSprite,
  6. Scale9Sprite* pressedSprite = nullptr,
  7. Scale9Sprite* disabledSprite = nullptr);
  8. /**
  9. * create a edit box with size.
  10. * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
  11. */
  12. static EditBox* create(const Size& size,
  13. const std::string& pNormal9SpriteBg,
  14. TextureResType texType = TextureResType::LOCAL);

 

 

 

 

 

二、分析EditBox基本实现

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

 

三、使用EditBox

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

如下代码

 

 

 


  
  1. local editbox = ccui.EditBox:create(cc.size(200,40),"loading-bg.png",ccui.TextureResType.localType)
  2. editbox:setPosition(100,100)
  3. self:addChild(editbox)
  4. local function editboxEventHandler(eventType)
  5. print(eventType)
  6. if eventType == "began" then
  7. -- triggered when an edit box gains focus after keyboard is shown
  8. elseif eventType == "ended" then
  9. -- triggered when an edit box loses focus after keyboard is hidden.
  10. elseif eventType == "changed" then
  11. -- triggered when the edit box text was changed.
  12. elseif eventType == "return" then
  13. -- triggered when the return button was pressed or the outside area of keyboard was touched.
  14. end
  15. end
  16. editbox:registerScriptEditBoxHandler(editboxEventHandler)

 

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

 

 

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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