【发布时间】:2014-07-30 05:43:04
【问题描述】:
当我这样做时,它会起作用:
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。我想布局中不支持精灵?那么在布局中添加和图像的正确方法是什么?我应该使用ImageView 吗?
auto jacket = ImageView::create("jacket.png",TextureResType::PLIST);
layout->addChild(jacket);
如果是,那为什么? Sprite和Image有什么区别?
【问题讨论】:
标签: c++ cocos2d-x cocos2d-x-3.0