1
2
3
4
5
6
7
8
9
|
// SINGLE_LINE //开启任何文本的输入键盘(不含换行) ANY //开启任何文本的输入键盘(含换行) DECIMAL //开启 数字 输入类型键盘(含小数点) PHONE_NUMBER //开启 电话号码 输入类型键盘 EMAIL_ADDRESS //开启 邮件地址 输入类型键盘 NUMERIC //开启 数字符号 输入类型键盘 URL //开启 URL 输入类型键盘 // |
1
2
3
4
5
6
7
|
// PASSWORD //密码形式 SENSITIVE //敏感数据输入 INITIAL_CAPS_WORD //每个单词首字符大写,并有提示 INITIAL_CAPS_SENTENCE //第一句首字符大写,并有提示 INTIAL_CAPS_ALL_CHARACTERS //自动大写 // |
1
2
3
4
5
6
7
|
// DEFAULT //默认类型, "←" DONE //Done字样, "确定" SEND //Send字样, "发送" SEARCH //Search字样, "搜索" GO //Go字样, "链接" // |
1
2
3
4
|
// #include "cocos-ext.h" using namespace cocos2d::extension; // |
1
2
3
4
5
6
7
8
9
|
// //create('编辑框大小', '按钮正常背景', '按钮按下背景', '按钮禁用背景'); static CCEditBox* create( const CCSize& size, CCScale9Sprite* pNormal9SpriteBg, CCScale9Sprite* pPressed9SpriteBg = NULL, CCScale9Sprite* pDisabled9SpriteBg = NULL); //举例: //CCSize editBoxSize = CCSizeMake(300, 60); //CCEditBox* editBoxName = CCEditBox::create(editBoxSize, CCScale9Sprite::create("green_edit.png")); // |
1
2
3
4
5
6
7
8
9
|
// //设置编辑框的委托代理对象,一般为this //并且CCLayer必需要继承代理接口类CCEditBoxDelegate。 void setDelegate(CCEditBoxDelegate* pDelegate); CCEditBoxDelegate* getDelegate(); //举例: /editBoxName->setDelegate( this ); // |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
// /** *
setPlaceHolder , setPlaceholderFont , *
setText , setFont , setMaxLength , *
setPreferredSize */ //设置编辑框的默认内容。即当输入内容为空时,显示的内容。 void setPlaceHolder( const char * pText); const char * getPlaceHolder( void ); //设置默认内容的字体 //
pFontName 字体资源名 //
fontSize 字体大小 //
color 字体颜色 void setPlaceholderFont( const char * pFontName, int fontSize); void setPlaceholderFontName( const char * pFontName); void setPlaceholderFontSize( int fontSize); void setPlaceholderFontColor( const ccColor3B& color); //设置编辑框的输入内容setText void setText( const char * pText); const char * getText( void ); //设置输入内容的字体 //
pFontName 字体资源名 //
fontSize 字体大小 //
color 字体颜色 void setFont( const char * pFontName, int fontSize); void setFontName( const char * pFontName); void setFontSize( int fontSize); void setFontColor( const ccColor3B& color); //输入字符控制,允许输入的最大字符长度 void setMaxLength( int maxLength); int getMaxLength(); //设置编辑框大小 void setPreferredSize(CCSize size); // |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// /** *
setInputMode , *
setInputFlag , *
setReturnType */ //设置虚拟键盘的编辑类型EditBoxInputMode //
kEditBoxInputModeSingleLine //开启任何文本的输入键盘(不含换行) //
kEditBoxInputModeAny //开启任何文本的输入键盘(含换行) //
kEditBoxInputModeDecimal //开启 数字 输入类型键盘(含小数点) //
kEditBoxInputModePhoneNumber //开启 电话号码 输入类型键盘 //
kEditBoxInputModeEmailAddr //开启 邮件地址 输入类型键盘 //
kEditBoxInputModeNumeric //开启 数字符号 输入类型键盘 //
kEditBoxInputModeUrl //开启 URL 输入类型键盘 void setInputMode(EditBoxInputMode inputMode); //设置输入的文本类型EditBoxInputFlag //
kEditBoxInputFlagPassword //密码形式 //
kEditBoxInputFlagSensitive //敏感数据输入 //
kEditBoxInputFlagInitialCapsWord //每个单词首字符大写,并有提示 //
kEditBoxInputFlagInitialCapsSentence //第一句首字符大写,并有提示 //
kEditBoxInputFlagInitialCapsAllCharacters //自动大写 void setInputFlag(EditBoxInputFlag inputFlag); //设置虚拟键盘中return键显示的字符 //
kKeyboardReturnTypeDefault //默认类型, "←" //
kKeyboardReturnTypeDone //Done字样, "确定" //
kKeyboardReturnTypeSend //Send字样, "发送" //
kKeyboardReturnTypeSearch //Search字样, "搜索" //
kKeyboardReturnTypeGo //Go字样, "链接" void setReturnType(KeyboardReturnType returnType); // |
1
2
3
4
5
6
7
8
9
10
|
// //开始编辑时 virtual void editBoxEditingDidBegin(CCEditBox* editBox); //结束编辑时 virtual void editBoxEditingDidEnd(CCEditBox* editBox); //编辑框文字改变时 virtual void editBoxTextChanged(CCEditBox* editBox, const std::string& text); //触发return后 virtual void editBoxReturn(CCEditBox* editBox); // |
1
2
3
4
5
6
7
8
9
|
// class HelloWorld : public cocos2d::CCLayer,CCEditBoxDelegate { virtual void editBoxEditingDidBegin(CCEditBox* editBox); //开始编辑 virtual void editBoxEditingDidEnd(CCEditBox* editBox); //结束编辑 virtual void editBoxTextChanged(CCEditBox* editBox, const std::string& text); //编辑框文字改变 virtual void editBoxReturn(CCEditBox* editBox); //触发return后的回调函数 } // |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// //编辑框尺寸大小 CCSize editBoxSize = CCSizeMake(mysize.width - 100, 60); //用户名editBoxName CCEditBox* editBoxName = CCEditBox::create(editBoxSize, CCScale9Sprite::create( "green_edit.png" )); editBoxName->setPosition( ccp(mysize.width/2, mysize.height*3/4) ); this ->addChild(editBoxName); //属性设置 editBoxName->setFontName( "fonts/Paint Boy.ttf" ); editBoxName->setFontSize(20); editBoxName->setFontColor(ccRED); editBoxName->setPlaceHolder( "Name:" ); editBoxName->setPlaceholderFontColor(ccWHITE); editBoxName->setMaxLength(8); //限制字符长度 //模式类型设置 editBoxName->setInputMode(kEditBoxInputModeSingleLine); editBoxName->setInputFlag(kEditBoxInputFlagInitialCapsAllCharacters); editBoxName->setReturnType(kKeyboardReturnTypeDefault); //委托代理对象this editBoxName->setDelegate( this ); //密码editBoxPassword CCEditBox* editBoxPassword = CCEditBox::create(editBoxSize, CCScale9Sprite::create( "orange_edit.png" )); editBoxPassword->setPosition( midPos ); this ->addChild(editBoxPassword); //属性设置 editBoxPassword->setFont( "fonts/Marker Felt.ttf" , 30); editBoxPassword->setFontColor(ccGREEN); editBoxPassword->setPlaceHolder( "Password:" ); editBoxPassword->setMaxLength(6); //限制字符长度 //模式设置 editBoxPassword->setInputFlag(kEditBoxInputFlagPassword); editBoxPassword->setReturnType(kKeyboardReturnTypeDone); //委托代理对象this editBoxPassword->setDelegate( this ); //邮箱editBoxEmail CCEditBox* editBoxEmail = CCEditBox::create(editBoxSize, CCScale9Sprite::create( "yellow_edit.png" )); editBoxEmail->setPosition( ccp(mysize.width/2, mysize.height/4) ); this ->addChild(editBoxEmail); //属性设置 editBoxEmail->setFont( "fonts/Marker Felt.ttf" , 30); editBoxEmail->setPlaceHolder( "Email:" ); //模式类型设置 editBoxEmail->setInputMode(kEditBoxInputModeEmailAddr); editBoxEmail->setReturnType(kKeyboardReturnTypeSend); //委托代理对象this editBoxEmail->setDelegate( this ); // |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// //开始编辑 void HelloWorld::editBoxEditingDidBegin(CCEditBox* editBox) { CCLog( "editBox %p DidBegin !" , editBox); } //结束编辑 void HelloWorld::editBoxEditingDidEnd(CCEditBox* editBox) { CCLog( "editBox %p DidEnd !" , editBox); } //编辑框内容改变 void HelloWorld::editBoxTextChanged(CCEditBox* editBox, const std::string& text) { CCLog( "editBox %p TextChanged, text: %s " , editBox, text.c_str()); } //触发return返回 void HelloWorld::editBoxReturn(CCEditBox* editBox) { CCLog( "editBox %p was returned !" ,editBox); } // |