如何在Cocos2d v3中设置CCTextField

时间:2014-03-11 17:11:30

标签: objective-c cocos2d-iphone xcode5

这是我到目前为止所得到的:

enterName = [CCTextField textFieldWithSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"Tile.png"]];
enterName.fontSize = 16.0f;
enterName.positionType = CCPositionTypeNormalized;
enterName.position = ccp(0.5f, 0.5f);
enterName.scale = 0.70f;
[self addChild:enterName z:5];

基本上,它会创建一个 microscopic 文本字段,您几乎无法点击它。弹出CCTextField的唯一方法是" textFieldWithSpriteImage。"

奖金帮助:如何存储输入后输入的字符串。 欢呼声。

2 个答案:

答案 0 :(得分:5)

为了防止Cocos2d中的微观CCTextFields,请务必设置preferredSize

以下是阻止微观文本字段的代码:

CCSprite *textSprite = [CCSprite spriteWithImageNamed:@"Tile.png"];
enterName = [CCTextField textFieldWithSpriteFrame:[CCSpriteFrame frameWithImageNamed:@"Tile.png"]];
enterName.fontSize = 16.0f;
enterName.contentSize = CGSizeMake(100.0f, 50.0f);
enterName.preferredSize = textSprite.contentSize; // don't forget this !
enterName.positionType = CCPositionTypeNormalized;
enterName.position = ccp(0.5f, 0.5f);
[self addChild:enterName z:5];

答案 1 :(得分:1)

如果您使用的是Cocos2d,还有其他方法可以合并文本字段。最方便的方法是Spritebuilder,类似于Storyboard。您可以在不使用代码的情况下编辑文本框的字体大小和大小。然后,您只需调整Textfield,以便将其连接到变量。为此,您可以更改代码连接。

我通常将此作为代码连接中的最终选项:

Doc root var:_whatever

然后在MainScene.m(由Xcode中的Spritebuilder自动创建)中编写此代码并添加:

CCTextField * _whatever
//your code

发布并运行,Textfield应该是可点击的。