在一层中添加2个CCScrollLayer时无法滚动
Can not scroll when add 2 CCScrollLayer in a layer
我在这里为我的cocos2d-x项目(2.2.2版)使用CCScrollLayer文件。
我对它们进行了调整,使其可以垂直滚动。我遇到了一个问题:当我在一个层中添加两个CCScrollLayer时,我只能滚动最后添加的CCScrollLayer。
这是我的代码:
我在场景中添加了一个包含两个CCScrollLayer的层
void ChooseMapScene::addSlidingLayers()
{
mChooseCharacterLayer = createChooseCharaterLayer();
mChooseCharacterLayer->setPosition(CCPointZero);
mChooseCharacterLayer->setTouchEnabled(true);
this->addChild(mChooseCharacterLayer, GR_FOREGROUND);
}
我在一个层中添加SlideCharacter1和SlideCharacter2(选择CharacterLayer),但只有SlideCharacter 2可以滚动
CCLayer* ChooseMapScene::createChooseCharaterLayer()
{
CCLayer* chooseCharacterLayer = CCLayer::create();
CCArray* characterArr1 = createCharactersArray(CHARACTER_LEFT_LAYER_POS);
CCArray* characterArr2 = createCharactersArray(CHARACTER_RIGHT_LAYER_POS);
mSlideCharacter1 = CCScrollLayerVertical::nodeWithLayers(characterArr1, 0);
chooseCharacterLayer->addChild(mSlideCharacter1, GR_FOREGROUND);
mSlideCharacter2 = CCScrollLayerVertical::nodeWithLayers(characterArr2, 0);
chooseCharacterLayer->addChild(mSlideCharacter2, GR_FOREGROUND);
// I add SlideCharacter1 and SlideCharacter2 in a layer (chooseCharacterLayer) but just the SlideCharacter2 can scroll
return chooseCharacterLayer;
}
CCArray* ChooseMapScene::createCharactersArray(CCPoint pPos)
{
CCArray* characterArr = CCArray::createWithCapacity(NUMBER_CHARACTERS);
for (int i = 1; i <= NUMBER_CHARACTERS; ++i)
{
CCLayer* characterLayer = CCLayer::create();
CCSprite* character = CCSprite::create(CCString::createWithFormat("Images/Game/Object/c%i.png", i)->getCString());
character->setPosition(pPos);
characterLayer->addChild(character, GR_FOREGROUND, i);
characterArr->addObject(characterLayer);
}
return characterArr;
}
您可以从SlideCharacter2
的触摸方法手动调用SlideCharacter1
的触摸方法(开始、取消、移动、结束)来模拟触摸
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 处理多个异常集合的C++方法
- 什么时候在C++中返回常量引用是个好主意
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 尝试通过多个向量访问变量时,向量下标超出范围
- Ardunio UNO解决了多个重叠的定时器循环
- 如何返回一个类的两个对象相加的结果
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 数到第n个楼梯的路(顺序无关紧要)
- 基于多个条件处理地图中的所有元素
- 为多个会话保留XPtr
- 如何在C++中初始化嵌套类中的2个memeber
- 运算符C++ "delete []"仅删除 2 个前值
- 在一层中添加2个CCScrollLayer时无法滚动