使用如下的代碼來添加 CCEditBox到類中,作為輸入框 ,代碼如下:
//add input 預設錨點(0.5,0.5),修改也沒用,然後這個座標不能用基於layer的 //座標,必須用 基於螢幕的座標 m_tf_input = CCEditBox::create(CCSizeMake(280 * 0.5, 60* 0.5), CCScale9Sprite::create("ui_blank.png")); m_tf_input->setFontColor(ccWHITE); m_tf_input->setPlaceHolder(LanguageManager::sharedLanguageManager()->getLocalizedString("Click here and input").c_str()); m_tf_input->setText(""); m_tf_input->setMaxLength(MAX_CHAT_MSG_LENGTH); m_tf_input->setReturnType(kKeyboardReturnTypeSend); m_tf_input->setDelegate(this); this->addChild(m_tf_input); m_tf_input->setPosition(ccp( m_originPoint.x + this->getPosition().x + m_size.width * 0.5 - 130 *0.5f, m_originPoint.y + this->getPosition().y + m_size.height* 0.5 - 184 *0.5f));
在IOS平台輸入沒有任何問題,但是到安卓平台下面就不能接受輸入,後面發現設定touch的優先順序就ok了。
CCEditBox 是從CCControlButton 繼承,然後
CCControlButton從 CCControl 繼承,然後
CCControl 有個函數
m_tf_input->setDefaultTouchPriority(-128); 就解決了。
因為 它的預設優先順序是 1,在安卓下面優先順序不夠。