gpt4 book ai didi

c++ - 如何在cocos2dx中创建多边形来显示流水号

转载 作者:行者123 更新时间:2023-11-28 06:16:20 24 4
gpt4 key购买 nike

我正在尝试创建一个节点,它只是一个包含数字的矩形。这就是我现在的做法:

int size = 100, fontSize = 64;
auto node = DrawNode::create();
Vec2 vertices[] =
{
Vec2(0,size),
Vec2(size,size),
Vec2(size,0),
Vec2(0,0)
};
node->drawPolygon(vertices, 4, Color4F(1.0f,0.3f,0.3f,1), 0, Color4F(1.0f,1.0f,1.0f,1));
auto texture = new Texture2D();
int numberToDisplay = 2000;
std::string s = std::to_string(numberToDisplay);
texture -> initWithString(s.c_str(), "fonts/Marker Felt.ttf", fontSize, Size(size, size), TextHAlignment::CENTER, TextVAlignment::CENTER);
auto textSprite = Sprite::createWithTexture(texture);
node -> addChild(textSprite);
textSprite -> setPosition(size/2, size/2);

每次我想更改数字时,我都必须重新创建一个 textureSprite,删除当前子项并添加新子项。有更好的方法吗?

最佳答案

我想知道你是否想要一些特殊的功能,那么为什么不使用 LayerColor 和 labelTTF?

LayerColor* node = LayerColor::create(Color4B(255, 85, 85, 255), 100, 100);
LabelTTF* label = LabelTTF::create(s, "fonts/Marker Felt.ttf", fontSize);
node->addChild(label);

只需更改labelttf的内容,无需创建sprite

关于c++ - 如何在cocos2dx中创建多边形来显示流水号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30228463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com