(转) CCTextFieldTTF输入框
新建工程,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",
);
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
(转) CCTextFieldTTF输入框的更多相关文章
- 传智播客C++第五期培训视频教程免费下载
C/C++的应用领域几乎无处不在,服务器,嵌入式,物联网,移动互联网,信息安全,游戏,基本上大小通吃.C/C++市场份额高达26%,也就是每四个程序员就有一个C/C++程序员.市场需求量非常大,而且工 ...
- Cocos2d-x学习笔记(9)(CCTextFieldTTF使用输入框)
1.CCTextFieldTTF创建和使用 CCTextFieldTTF::create(const char* placeholder,const char* fontName.float font ...
- cocos2dx注册场景 使用CCEditBox实现输入框
我们在开始玩一个游戏时,通常要做的第一件事就是注册账号,下面就让我们来制作一个简单的注册场景,我所使用的cocos2dx版本为2.2.2 在这个场景中最主要的元素就是输入框和按钮,我从网上找了一些素材 ...
- cocos2d-x 聊天输入框实现
转自:http://bbs.9ria.com/thread-216948-1-10.html 聊天输入框 (单行输入框 ,多行可自己扩展) 实现功能: 1.普通输入 2.设置输入框显示最大宽度(PT ...
- Cocos2d-x CCEditBox & CCTextFieldTTF
下面简单记录一下如何Cocos2d-x中创建输入编辑框.在引擎中为我们提供了这样两个类:CCEditBox 和 CCTextFieldTTF. 一.CCEditBox ①这个类文件的位置 ②这个类 ...
- cocos2dx CCTextFieldTTF
CCTextFieldTTF是一个提供文本输入的控件. 先上个简单的例子 CCSize size = __winSize; CCTextFieldTTF* textEdit = CCTextField ...
- cocos2d-x 输入框CCEditBox的使用
特别说明: 这个版本的CCEditBox,设计有缺陷,背景图片的位置与输入区域的位置不同步,需要自己修改原来的代码,自己加上输入区域的坐标偏移量. void CCEditBox::setPositio ...
- Android点击列表后弹出输入框,所点击项自动滚动到输入框上方
使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点 ...
- Bootstrap3系列:输入框组
1. 基本实例 通过在文本输入框 <input> 前面.后面或是两边加上文字或按钮,实现对表单控件的扩展. .input-group包含.input-group-addon给 .form- ...
随机推荐
- db2数据库新手可能碰到的问题及详解(部分内容来自网络搜索)
一.db2安装好之后出现乱码,菜单栏呈现方框状,此时选择菜单第五项,点击选择下拉菜单中的最后一项,打开选择标签卡的第三项(字体),如果是无衬线都改为有衬线,如果是有衬线改为无衬线.乱码即可解决(网上一 ...
- unicode可以通过编码(encode)成为特定编码的str
1.原始字符串python中的原始字符串以r开头,使用原始字符串可以避免字符串中转义字符带来的问题,例如写路径时 path = 'c:\noway',此时用 print path,其结果为:c:owa ...
- ubuntu安装Python环境以及科学计算环境
参考:http://blog.csdn.net/a1311543690/article/details/ 1.sudo apt-get install python-pip pip是Python的一个 ...
- Shell编程中括号判断中赋值语句和判断语句
#!/bin/bash declare var="xxx" # without space and use one = #1.judge whether the assignmen ...
- 实现memcpy
memcpy的原型: SYNOPSIS #include <string.h> void *memcpy(void *dest, const void *src, size_t n); D ...
- Debug阶段成员贡献分
组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 Debug阶段各组员的贡献分分配如下: 姓名 个人工作量 组长评价 个人评价 团队贡献总分 张金生 11 7 6 6.00 张政 11 6 ...
- Apache Spark源码走读之23 -- Spark MLLib中拟牛顿法L-BFGS的源码实现
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文就拟牛顿法L-BFGS的由来做一个简要的回顾,然后就其在spark mllib中的实现进行源码走读. 拟牛顿法 数学原理 代码实现 L-BFGS算法中使 ...
- token原理
token原理1.和session有很大关系哦. jsp生成表单时,在表单中插入一个隐藏<input>字段,该字段就是保存在页面端的token字符串,同时把该字符串存入session中.等 ...
- INSTRUCTION CYCLE
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION • Fetch: Read the nex ...
- Java中Double类型计算问题
public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); ...