【问题标题】:How to setup a CCTextField in Cocos2d v3如何在 Cocos2d v3 中设置 CCTextField
【发布时间】:2014-03-11 17:11:30
【问题描述】:

这是我目前得到的:

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];

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

额外帮助:如何存储输入后输入的字符串。 干杯。

【问题讨论】:

  • 尝试更改 contentSize
  • 谢谢。我删除了enterName.scale = 0.70f;并添加了enterName.contentSize = CGSizeMake(100.0f, 50.0f);,它仍然是微观的

标签: objective-c cocos2d-iphone xcode5


【解决方案1】:

为了防止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];

【讨论】:

    【解决方案2】:

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

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

    文档根变量:_whatever

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

    CCTextField * _whatever
    //your code
    

    发布并运行,文本字段应该是可点击的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多