cocos2dx-lua 输入框 (EditBox)
2018-11-01 本文已影响1人
亮亮同学
cocos2d-x技术群新群:117871561
c++技术交流群:593010226
--创建
local editTxt= ccui.EditBox:create(cc.size(350,100), "xx.png") --输入框尺寸,背景图片
editTxt:setName("inputTxt")
editTxt:setAnchorPoint(0.5,0.5)
editTxt:setPosition(970,515) --设置输入框的位置
editTxt:setFontSize(100) --设置输入设置字体的大小
editTxt:setMaxLength(6) --设置输入最大长度为6
editTxt:setFontColor(cc.c4b(124,92,63,255)) --设置输入的字体颜色
editTxt:setFontName("simhei") --设置输入的字体为simhei.ttf
-- editTxt:setInputMode(cc.EDITBOX_INPUT_MODE_NUMERIC) --设置数字符号键盘
-- editTxt:setPlaceHolder("请输入账号") --设置预制提示文本
editTxt:setReturnType(cc.KEYBOARD_RETURNTYPE_DONE) --输入键盘返回类型,done,send,go等KEYBOARD_RETURNTYPE_DONE
editTxt:setInputMode(cc.EDITBOX_INPUT_MODE_NUMERIC) --输入模型,如整数类型,URL,电话号码等,会检测是否符合
editTxt:registerScriptEditBoxHandler(function(eventname,sender) self:editboxHandle(eventname,sender) end) --输入框的事件,主要有光标移进去,光标移出来,以及输入内容改变等
self:addChild(editTxt,5)
--输入框事件处理
function Ui:editboxHandle(strEventName,sender)
if strEventName == "began" then
sender:setText("") --光标进入,清空内容/选择全部
elseif strEventName == "ended" then
--当编辑框失去焦点并且键盘消失的时候被调用
elseif strEventName == "return" then
--当用户点击编辑框的键盘以外的区域,或者键盘的Return按钮被点击时所调用
elseif strEventName == "changed" then
--输入内容改变时调用
end