cocos2d-x添加虚拟键盘获得用户输入CCTextField实例

来源:未知 责任编辑:责任编辑 发表时间:2013-12-01 14:15 点击:
今天白白跟大家分享一下cocos2d-x中如何获得虚拟键盘并获取用户输入的方法。 p>有的时候我们需要用户输入一些信息,比如用户登录,这个时候就需要得到虚拟键盘,并获取输入信息,在此我们使用CCTextField获取用户输入。

p>CCTextFieldTTF是CCLabelTTF的子类,他是一个动态的CCLabelTTF。

p>我们去写一个例子,看看如何使用CCTextFieldTTF。

p>1、首先我们新建一个Text项目,helloscene类继承CCLayer以及CCTextFieldDelegate。

p>在头文件还需要声明一些函数,我们看代码:

p>[cpp] 

p>class HelloWorld : public cocos2d::CCLayer, cocos2d::CCTextFieldDelegate   //多类继承  

p>{  

p>public:  

p>    virtual bool init();    

p>    //重写CCTextFieldDelegate的回调函数当用户启动虚拟键盘的时候回调函数  

p>    // 要有输出口  

p>    virtual bool onTextFieldAttachWithIME(CCTextFieldTTF * sender);  

p>    //当用户关闭虚拟键盘的时候回调函数  

p>    virtual bool onTextFieldDetachWithIME(CCTextFieldTTF * sender);  

p>    //当用户进行输入,虚拟键盘的时候回调函数  

p>    virtual bool onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen);  

p>    //当用户进行删除文字,虚拟键盘的时候回调函数  

p>    virtual bool onTextFieldDeleteBackward(CCTextFieldTTF * sender, const char * delText, int nLen);  

p>    static cocos2d::CCScene* scene();  

p>    void menuCloseCallback(CCObject* pSender);  

p>    CREATE_FUNC(HelloWorld);  

p>};  

p> 

p>2、我们去源文件实现他们:

p>这里源文件原有的init函数与scene函数我没有动,只是改变了按钮的回调函数menuCloseCallback:

p>[cpp]  

p>void HelloWorld::menuCloseCallback(CCObject* pSender)  

p>{  

p>    CCTextFieldTTF * text=CCTextFieldTTF::textFieldWithPlaceHolder("plase input","Arial",24);//输入框  

p>    text->setPosition(ccp(100, 100));  

p>    addChild(text);  

p>    text->setDelegate(this);//绑定接口  

p>    text->attachWithIME();//开启虚拟键盘  

p>   //text->detachWithIME(); 这里记得注释掉,不然开启后又被关了    //关闭虚拟键盘  

p>}  

p>[cpp]  

p>bool HelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF * sender)  

p>{  

p>    return false;  //false是启用键盘  

p>}  

p>//    当用户关闭虚拟键盘的时候回调函数  

p>bool HelloWorld :: onTextFieldDetachWithIME(CCTextFieldTTF * sender)  

p>{  

p>    return false;  //关闭键盘  

p>}  

p>//    当用户进行输入 虚拟键盘的时候回调函数     

p>bool HelloWorld ::onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen)  

p>{  

p>    return false;  // 输入字符  

p>}  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1