这是我到目前为止所得到的:
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。"
奖金帮助:如何存储输入后输入的字符串。 欢呼声。
答案 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应该是可点击的。