1

-1、cclayerのサブクラスを作成します。

class LogoInLayer : public cocos2d::CCLayer
{

public:

    void onEnter();
    void onExit();
    void registerWithTouchDispatcher();
    bool ccTouchBegan(CCTouch* pTouch, CCEvent* event);
    void ccTouchEnded(CCTouch* pTouch, CCEvent* event);
    void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
    void keyMenuClicked();
    void keyBackClicked();

};

-2、onEnterメソッドで、CCTextFieldTTFポインターを作成し、次のように設定しました。

CCTextFieldTTF * l = CCTextFieldTTF::textFieldWithPlaceHolder("12345567", "", 25);

l->setPosition(ccp(200,200));

addChild(l, 5,1234);

    this->setIsTouchEnabled(true);
    this->setIsKeypadEnabled(true);

-3、また、registerWithTouchDispatcher()メソッドをオーバーライドします。

void LogoInLayer::registerWithTouchDispatcher()
{

    CCTouchDispatcher::sharedDispatcher()
      ->addTargetedDelegate(this, kCCMenuTouchPriority + 2, true);

}

-4、次にCCTouchBeganでコードを記述します。

CCTextFieldTTF* l = (CCTextFieldTTF*)this->getChildByTag(1234);

l->attachWithIME();

何も問題はありませんでしたが、実行中にパッドのキーボードを開くことさえできません。

4

0 に答える 0