zoukankan      html  css  js  c++  java
  • (转) CCTextFieldTTF输入框

    CCTextFieldTTF输入框

    分类: cocos2d-x 2964人阅读 评论(1) 收藏 举报

    新建工程,testInput

    修改HelloWorldScene.h

    #ifndef __HELLOWORLD_SCENE_H__

    #define __HELLOWORLD_SCENE_H__


    #include "cocos2d.h"

    usingnamespace cocos2d;

    class HelloWorld :publiccocos2d::CCLayer,publiccocos2d::CCTextFieldDelegate

    {

    public:

        // Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)

       virtual bool init();


        // there's no 'id' in cpp, so we recommend to return the class instance pointer

       static cocos2d::CCScene* scene();

        

        //重写CCTextFieldDelegate的回调函数

        

        //当用户启动虚拟键盘时的回调函数

       virtual bool onTextFieldAttachWithIME(CCTextFieldTTF *pSender);

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

       virtual bool onTextFieldDetachWithIME(CCTextFieldTTF *pSender);

        //当用户进行输入时的回调函数

       virtual bool onTextFieldInsertText(CCTextFieldTTF *pSender,constchar *text,int nLen);

        //当用户删除文字时的回调函数

       virtual bool onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar *delText,int nLen);

        

        


        // preprocessor macro for "static create()" constructor ( node() deprecated )

        CREATE_FUNC(HelloWorld);

    };


    #endif // __HELLOWORLD_SCENE_H__

    修改HelloWorldScene.cpp

    #include "HelloWorldScene.h"

    #include "SimpleAudioEngine.h"


    usingnamespace cocos2d;

    usingnamespace CocosDenshion;


    CCScene* HelloWorld::scene()

    {

        // 'scene' is an autorelease object

       CCScene *scene = CCScene::create();

        

        // 'layer' is an autorelease object

        HelloWorld *layer =HelloWorld::create();


        // add layer as a child to scene

        scene->addChild(layer);


        // return the scene

       return scene;

    }


    // on "init" you need to initialize your instance

    boolHelloWorld::init()

    {

        //////////////////////////////

        // 1. super init first

       if ( !CCLayer::init() )

        {

            return false;

        }


        /////////////////////////////

        // 2. add a menu item with "X" image, which is clicked to quit the program

        //    you may modify it.


        CCSize size=CCDirector::sharedDirector()->getWinSize();

        CCTextFieldTTF *textField = CCTextFieldTTF::textFieldWithPlaceHolder("点出输入...","Helvetica", 24);

        textField->setPosition(ccp(size.width*0.5, size.height*0.7));

        addChild(textField);

        

        //绑定接口

        textField->setDelegate(this);

        //开启输入

        textField->attachWithIME();

        //关闭输入

        //textField->detachWithIME();

        

        return true;

    }

    //当用户启动虚拟键盘时的回调函数

    bool HelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF *pSender)

    {

        CCLOG("启动输入");

        //return false;

        //return true:不启动

    }

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

    bool HelloWorld::onTextFieldDetachWithIME(CCTextFieldTTF *pSender)

    {

        CCLOG("关闭输入");

        return false;

        //return true:不关闭

    }

    //当用户进行输入时的回调函数

    bool HelloWorld::onTextFieldInsertText(CCTextFieldTTF *pSender,constchar *text,int nLen)

    {

        CCLOG("输入字符...");

        return false;

        //return true:不会输入进字符


    }

    //当用户删除文字时的回调函数

    bool HelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF *pSender,constchar *delText,int nLen)

    {

        CCLOG("删除字符");

        return false;

        //return true:不删除

    }

    源码地址:http://download.csdn.net/detail/cloud95/5234145
  • 相关阅读:
    Linux学习之CentOS(十八)-----恢复Ext3下被删除的文件与 使用grep恢复被删文件内容(转)
    Linux学习之CentOS(十七)-----释放 Linux 系统预留的硬盘空间 与Linux磁盘空间被未知资源耗尽 (转)
    Linux学习之CentOS(十六)-----内存置换空间(swap)之建置(转)
    Linux学习之CentOS(十五)----磁盘管理之 启动挂载(转)
    Linux学习之CentOS(十四)----磁盘管理之 硬连接与软件连接(转)
    Linux学习之CentOS(十三)-----磁盘管理之 磁盘与目录的容量(转) df 与du 命令
    Linux学习之CentOS(十二)------磁盘管理之 磁盘的分区、格式化、挂载(转)
    Linux学习之CentOS(十二)----磁盘管理之 认识ext文件系统(转)
    windows的常用快捷键(实用篇)
    计算机无法加入域|不能联系域控制器
  • 原文地址:https://www.cnblogs.com/zhaitao85/p/3628047.html
Copyright © 2011-2022 走看看