cocos2dx ScrollView 测试三 指示器
2014-01-02 14:55
423 查看
类似于iphone的主桌面,下面有一排小圆点的指示器,指示有几页,当前第几页。
ScrollView是继承CCLayer,我们直接把指示器加到这里面试试。
先加小圆点的图片进去。
HelloWorld::init方法
发现上面的做法不行,小圆点跟着拖动走了....否决!!
那就把小圆点加到外面吧~~
见效果图
![](http://images.cnitblog.com/blog/594710/201401/02145336-224b1a220f1149c2ae4b154199e46daf.png)
等有时间把以上这些封装总结一下吧。
ScrollView是继承CCLayer,我们直接把指示器加到这里面试试。
先加小圆点的图片进去。
HelloWorld::init方法
this->addChild(_scrollView); CCSprite *pointer2 = CCSprite::create("pointer.png"); pointer2->setPosition(ccp(VisibleRect::center().x,200)); _scrollView->addChild(pointer2, 10); CCSprite *pointer1 = CCSprite::create("pointer.png"); pointer1->setPosition(ccp(VisibleRect::center().x-30,200)); _scrollView->addChild(pointer1, 10); CCSprite *pointer3 = CCSprite::create("pointer.png"); pointer3->setPosition(ccp(VisibleRect::center().x+30,200)); _scrollView->addChild(pointer3, 10); return true;
发现上面的做法不行,小圆点跟着拖动走了....否决!!
那就把小圆点加到外面吧~~
_scrollView = MyScrollView::create(CCSizeMake(640, 1136)); //_scrollView->setContentSize(); _scrollView->setDelegate(this); _scrollView->setTouchPriority(1); _scrollView->setContainer(container); _scrollView->setDirection(kCCScrollViewDirectionHorizontal); CCSprite *pointer1 = CCSprite::create("pointer_selected.png"); pointer1->setPosition(ccp(VisibleRect::center().x-30,200)); this->addChild(pointer1, 10,101); this->addChild(_scrollView); CCSprite *pointer2 = CCSprite::create("pointer.png"); pointer2->setPosition(ccp(VisibleRect::center().x,200)); this->addChild(pointer2, 10,102); CCSprite *pointer3 = CCSprite::create("pointer.png"); pointer3->setPosition(ccp(VisibleRect::center().x+30,200)); this->addChild(pointer3, 10,103); return true;
void HelloWorld::scrollViewDidScroll(CCScrollView* view){ int offset = (int)view->getContentOffset().x; CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("pointer_selected.png"); CCTexture2D *textureNor = CCTextureCache::sharedTextureCache()->addImage("pointer.png"); CCSprite *sp101 = (CCSprite*) this->getChildByTag(101); CCSprite *sp102 = (CCSprite*) this->getChildByTag(102); CCSprite *sp103 = (CCSprite*) this->getChildByTag(103); sp101->setTexture(textureNor); sp102->setTexture(textureNor); sp103->setTexture(textureNor); if(offset>-320){ sp101->setTexture(texture); }else if(offset<=-320&&offset>-960){ sp102->setTexture(texture); }else{ sp103->setTexture(texture); } CCLog("scrollViewDidScroll offset:%d",offset); }
见效果图
![](http://images.cnitblog.com/blog/594710/201401/02145336-224b1a220f1149c2ae4b154199e46daf.png)
等有时间把以上这些封装总结一下吧。
相关文章推荐
- cocos2dx ScrollView 测试一 触摸事件优先级和自动调整
- cocos2dx ScrollView 测试二 自定义Item和boundingBox
- Bullet(Cocos2dx)之使用cocos2dx测试PhysicsWorld3D
- 5、Cocos2dx 3.0小游戏开发的例子寻找测试三个简单的介绍和总结
- Cocos2dx:实现游戏关卡ScrollView方式(二)
- cocos2dx ScrollView不影响滑动,取消弹性小技巧
- 5、Cocos2dx 3.0游戏开发找小三之测试样例简介及小结
- cocos2dx vs2010运行或真机测试时,出现闪屏的情况,
- cocosStudio制作ScrollView并在cocos2dx 3.0中使用。
- cocos2dx 触摸测试二 多点包含单点
- 关于cocos2dx -js中使用scrollview的心得
- cocos2dx ScrollView,TableView,ListView区别
- eclipse开发cocos2dx 3.2环境搭建之二: cocos2dx 3.2安装及测试运行 (An internal error occurred during: "C/C++ Indexe)
- cocos2dx之TableView和ScrollView的混合使用
- cocos2dx 3.2 ScrollView 2个bug(滚动方向相反和jump函数不能用),ListView变绿不显示
- Mac环境 quick-cocos2dx 3.6.2 项目在android studio下的真机测试
- COCOS2DX 3.X 解决TABLEVIEW 、SCROLLVIEW上的MENU问题
- [置顶] cocos code ide为ide测试cocos2dx lua-binding
- cocosStudio制作ScrollView并在cocos2dx 3.0中使用。
- cocos2dx基础——滚动视图CCScrollView(TP:68D951F8)