cocos-Lua中的EditBox

 

其实,你有没有想过,为什么我们在聊天的时候可以输入文字,这么的神奇
在玩游戏的时候,也有一个注册,登录的输入的界面,输入文字又是怎么实现的呢


在我做游戏的过程中,看了一下,其实我们在做界面的时候,就设置了一个类型为TextFiled的输入框,之后,在安卓系统中,其实我也不知道其中是怎么检测知道我的是输入框,总之,其会在我点击输入框的时候,自动弹出输入法,这样就实现了文字的输入输出


我问了一下大神,在cocos引擎中已经封装有怎么样去调用安卓输入法这方面的内容,不需要我们去担心

在cocos2dx引擎中有一个sample,说明了编辑框的事件处理
我在里面增加了中文注释
-- lua sample
local function editboxEventHandler(eventType)
    if eventType == "began" then
        -- 点击编辑框,输入法显示
    elseif eventType == "ended" then
        -- 当编辑框失去焦点并且键盘消失的时候被调用
    elseif eventType == "changed" then
        -- 输入内容改变时调用
    elseif eventType == "return" then
        -- 用户点击编辑框的键盘以外的区域,或者键盘的Return按钮被点击时所调用
    end
end
local editbox = cc.EditBox:create(Size(...), Scale9Sprite:create(...))
editbox = registerScriptEditBoxHandler(editboxEventHandler)

当我们处于这些状态的时候就会响应相应的事件

下面是创建一个输入框

一个EditBox框,里面包括了一个TextFiled的输入框,还加了一个正常状态的Sprite

local editBox = ccui.EditBox:create(textField:getContentSize(), ccui.Scale9Sprite:create())

你可能感兴趣的:(Lua)