gpt4 book ai didi

c++ - cocos2d-x 3 添加 Sprite 到布局

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:21:50 26 4
gpt4 key购买 nike

当我这样做时它起作用了:

Layout* layout = Layout::create();
layout->setLayoutType(Layout::Type::HORIZONTAL);
layout->setContentSize(Size(280, 150));
layout->setPosition(Vec2(visibleOrigin.x + 100, visibleOrigin.y + visibleSize.height - 100));

addChild(layout);

auto jacket = Button::create("jacket.png", "jacket.png", "jacket.png", Widget::TextureResType::PLIST);
layout->addChild(jacket);

但是当我这样做时(添加一个 Sprite 而不是上面代码中添加的按钮):

Layout* layout = Layout::create();
layout->setLayoutType(Layout::Type::HORIZONTAL);
layout->setContentSize(Size(280, 150));
layout->setPosition(Vec2(visibleOrigin.x + 100, visibleOrigin.y + visibleSize.height - 100));

addChild(layout);

auto jacket = Sprite::createWithSpriteFrameName("jacket.png");
layout->addChild(jacket);

然后我在 layout->addChild(jacket); 行断言失败,并显示消息 Expression: vector subscript out of range。我想 Layouts 不支持 sprite?那么将图像添加到布局中的正确方法是什么?我应该像下面那样使用 ImageView 吗?

auto jacket = ImageView::create("jacket.png",TextureResType::PLIST);
layout->addChild(jacket);

如果是,那为什么? SpriteImage 有什么区别?

最佳答案

如果我理解正确,按钮将尝试加载名为“jacket.png”的单个文件,而 createWithSpriteFrameName 初始化程序将尝试从先前加载的纹理图集中获取 jacket.png 帧

问题可能很简单,例如夹克图像不在纹理图集或运行此代码之前未加载图集(帧)

关于c++ - cocos2d-x 3 添加 Sprite 到布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029560/

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