-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();
何も問題はありませんでしたが、実行中にパッドのキーボードを開くことさえできません。