c++ - 用 cocos2d-x 3.6 实现 ScrollView

标签 c++ xcode cocos2d-x

想知道是否有人知道如何在 cocos2d-x 3.6 (C++) 中实现 ScrollView 。我找到的所有教程都是针对较早的 cocos2d-x 版本的。

谢谢

我在下面添加了我的代码,我可以显示灰色的 ScrollView 框,但它不能滚动,按钮也没有出现在上面:

头文件:“CocosGUI.h”和“cocos-ext.h”

//add scroll view
Size scollFrameSize = Size(visibleSize.width, visibleSize.height/4);
auto scrollView = cocos2d::ui::ScrollView::create();
scrollView->setContentSize(scollFrameSize);
scrollView->setBackGroundColorType(cocos2d::ui::Layout::BackGroundColorType::SOLID);
scrollView->setBackGroundColor(Color3B(200, 200, 200));
scrollView->setPosition(Point(0, visibleSize.height/1.5));
scrollView->setDirection(cocos2d::ui::ScrollView::Direction::HORIZONTAL);
scrollView->setBounceEnabled(true);
scrollView->setTouchEnabled(true);
auto containerSize = Size(scollFrameSize.width*2, scollFrameSize.height*2);
 scrollView->setInnerContainerSize(containerSize);

this->addChild(scrollView);


auto button1 = cocos2d::ui::Button::create();
button1->setColor(Color3B(250, 200, 50));
button1->setTouchEnabled(true);
button1->setContentSize(Size(100, 100));
button1->setPosition(Point(containerSize.width / 4, containerSize.height / 2));
scrollView->addChild(button1);

auto button2 = cocos2d::ui::Button::create();
button2->setColor(Color3B(250, 200, 50));
button1->setContentSize(Size(100, 100));
button2->setTouchEnabled(true);
button2->setPosition(Point(containerSize.width / 8, containerSize.height / 2));
scrollView->addChild(button2);

最佳答案

我想通了,它在滚动,但我添加的按钮有误。对于任何有兴趣的人添加这样的按钮

auto button1 = ui::Button::create();
button1->setTouchEnabled(true);
button1->ignoreContentAdaptWithSize(false);
button1->setContentSize(Size(100, 100));
button1->loadTextures("pic1.png", "pic2.png");
button1->setPosition(Point(containerSize.width / 8, containerSize.height / 2));
scrollView->addChild(button1);

关于c++ - 用 cocos2d-x 3.6 实现 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30903933/

相关文章:

iphone - 在 Storyboard 中隐藏部分标题 "Prototype Cells"

python - 如何根据项目位置运行不同的python版本?

c++ - 在 cocos2d-x 中切换 Sprite 动画

c++ - gRPC - C++ 异步 HelloWorld 客户端示例不异步执行任何操作

c++ - 为什么编译器会抛出 "expected a type specifier"?

c++ - 如何创建可以接受不同参数的函数指针 vector ?

iphone - "Distribution"和 "Release"构建配置有什么区别?

ios - 在 UICollectionViewFlowLayoutBreakForInvalidSizes 做一个符号断点

audio - 在 Cocos2D-X 中尝试启用音乐暂停时出现 "SimpleAudioEngine has not been declared"错误

c++ - 测量重载运算符和成员函数时间的函数