cocos CCScrollView

前端之家收集整理的这篇文章主要介绍了cocos CCScrollView前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

要做个显示游戏玩法的功能,但是因为规则多,一个sprite显示不完。有几种解决办法,CCScrollView、listView,tableView。后面那两个还没研究,先试了下CCScrollView。

CCScrollView可以用来做游戏关卡选择。

  1. #ifndef__Test_H_
  2. #define__Test_H_
  3.  
  4. #include"cocos2d.h"
  5. #include"../extensions/cocos-ext.h"
  6. USING_NS_CC;
  7. USING_NS_CC_EXT;
  8.  
  9. classTest:publicCCLayer,publicCCScrollViewDelegate
  10. {
  11. public:
  12. virtualboolinit();
  13. staticCCScene*scene();
  14. CREATE_FUNC(Test);
  15.  
  16. virtualvoidscrollViewDidScroll(CCScrollView*view);
  17. virtualvoidscrollViewDidZoom(CCScrollView*view);
  18.  
  19. };
  20. #endif//!__Test_H_
  1. #include"Test.h"
  2.  
  3. CCScene*Test::scene()
  4. {
  5. CCScene*scene=CCScene::create();
  6. Test*layer=Test::create();
  7. scene->addChild(layer);
  8. returnscene;
  9. }
  10.  
  11. boolTest::init()
  12. {
  13. if(!CCLayer::init())
  14. returnfalse;
  15.  
  16.  
  17. CCSizesize=CCDirector::sharedDirector()->getWinSize();
  18. CCLog("winSize=%d",size);
  19.  
  20. CCScrollView*scroview=CCScrollView::create();
  21. CCSprite*sp=CCSprite::create("HelloWorld.png");//添加两个精灵
  22. sp->setPosition(ccp(size.width*0.5,size.height*0.5));
  23. CCSprite*sp1=CCSprite::create("HelloWorld.png");
  24. sp1->setPosition(ccp(size.width*0.5,size.height*1.5));
  25.  
  26. containLayer->addChild(sp);
  27. containLayer->addChild(sp1);
  28. containLayer->setContentSize(CCSizeMake(size.width,size.height));
  29.  
  30. containLayer->setAnchorPoint(CCPointZero);
  31. containLayer->setPosition(CCPointZero);
  32.  
  33. scroview->setPosition(CCPointZero);
  34. scroview->setContentOffset(CCPointZero);
  35.  
  36. containLayer->setContentSize(CCSizeMake(480,320*2));//设置滚动区域的大小
  37. scroview->setViewSize(CCSizeMake(480,320)); //设置显示区域的大小
  38. scroview->setContainer(containLayer);//设置需要滚动的内容
  39. scroview->setTouchEnabled(true);//设置为false的话,可以自己实现触摸事件
  40. scroview->setDelegate(this);
  41. scroview->setBounceable(false);//是否有弹跳效果,默认为true
  42. scroview->setDirection(kCCScrollViewDirectionVertical);//设置滚动的方向,有三种可以选择,水平,垂直呀什么的
  43.  
  44. this->addChild(scroview);
  45.  
  46. setTouchEnabled(false);
  47. setTouchMode(kCCTouchesOneByOne);
  48. returntrue;
  49. }
  50. voidTest::scrollViewDidScroll(CCScrollView*view)
  51. {
  52. CCLog("fssdf");
  53. }
  54. voidTest::scrollViewDidZoom(CCScrollView*view)
  55. {
  56. CCLog("fsfsfsdfsdf");
  57. }

猜你在找的Cocos2d-x相关文章