• 文本框(TextField)

    文本框(TextField)

    如果你想让参与游戏的玩家可以自定义一个昵称怎么办,在哪里输入文本?Cocos2d-x 提供 TextField 满足这种需求。它支持触摸事件,焦点,定位内容百分比等。

    创建一个文本框:

    1. #include "ui/CocosGUI.h"
    2. auto textField = TextField::create("","Arial",30);
    3. textField->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
    4. std::cout << "editing a TextField" << std::endl;
    5. });
    6. this->addChild(textField);

    这个例子中,创建了一个 TextField,指定了回调函数。

    提供的文本框对象,是多功能的,能满足所有的输入需求,比如用户密码的输入,限制用户可以输入的字符数等等!

    看一个例子:

    1. #include "ui/CocosGUI.h"
    2. auto textField = TextField::create("","Arial",30);
    3. // make this TextField password enabled
    4. textField->setPasswordEnabled(true);
    5. // set the maximum number of characters the user can enter for this TextField
    6. textField->setMaxLength(10);
    7. textField->addTouchEventListener([&](Ref* sender, Widget::TouchEventType type){
    8. std::cout << "editing a TextField" << std::endl;
    9. });
    10. this->addChild(textField);

    屏幕上一个文本框是这样的:

    文本框(TextField)  - 图1

    当点击文本框,键盘就会自动调出来,此时可以输入文本:

    文本框(TextField)  - 图2