前言,送给自己,我之前因为期末考试开始停更了,复习很好,考得也很好,现在我要继续了,喜欢编程,这是给自己一个叛逆的青春,今天,我坐在宿舍,旁边有打机,有看电视的,有说话的,而我,听着音乐,码着代码,如果五年后,我要坐在牛逼的办公楼里,或者开着自己的公司,有着庞大的业务,那么我今天就要非常努力!我每天都要非常努力!加油!
Label的使用,如果对于LabelTTF不熟悉,可以追到里面查看定义。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
bool HelloWorld::init()
{ ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size size = Director::getInstance()->getVisibleSize(); LabelTTF*label = LabelTTF::create(); label->setString("Today is a sunny day!"); label->setFontSize(36); label->setPosition(size.width / 2,size.height / 2); addChild(label); return true; |
程序执行结果:
}
CCTextFieldTTF是一个显示文本控件的类用于输入文本和现实文本类似于Windows编程中的Static控件和Edit控件。
程序实例:使用TextFieldTTF类创建一个文本,触摸文本弹出软键盘,并且可以通过软键盘向TextFieldTTF中输入文字
首先创建一个TextFieldTTF.h的头文件,在头文件中添加下面的代码
18
19
20
21
22
23
|
#ifndef__TextFieldTTF_H__
#define__TextFieldTTF_H__
#include"cocos2d.h"
USING_NS_CC;
class
TextFieldTTF:
public
CCLayer
{
:
bool
init();
static
CCScene*scene();
//用于处理触摸事件
ccTouchBegan(CCTouch*,CCEvent*);
@H_404_205@//用于在程序中创建一个文本控件
CCTextFieldTTF*textEdit;
CREATE_FUNC(TextFieldTTF);
};
#endif//__HELLOWORLD_SCENE_H__
|
#include"TextFieldTTF.h"
CCScene*TextFieldTTF::scene()
{
CCScene*scene=CCScene::create();
TextFieldTTF*layer=TextFieldTTF::create();
scene->addChild(layer);
return
scene;
}
TextFieldTTF::init()
{
CCLayer::init();
@H_404_205@//得到窗口的尺寸
CCSizewinSize=CCDirector::sharedDirector()->getWinSize();
@H_404_205@//创建文本框
@H_404_205@//第二个参数:字体
@H_404_205@//第三个参数:文本的大小
@H_404_205@//设置文本框的位置
textEdit->setPosition(ccp(winSize.width/2,winSize.height/2));
addChild(textEdit);
setTouchMode(kCCTouchesOneByOne);
setTouchEnabled(
true
);
return
;
}
TextFieldTTF::ccTouchBegan(CCTouch*touch,CCEvent*ev)
{
@H_404_205@//用于判断是否点中了控件
isClicked=textEdit->boundingBox().containsPoint(touch->getLocation());
@H_404_205@//如果点中了控件
if
(isClicked)
{
textEdit->attachWithIME();
}
@H_404_205@//表示接受触摸消息
;
}
|