您好,登錄后才能下訂單哦!
要做個(gè)顯示游戲玩法的功能,但是因?yàn)橐?guī)則多,一個(gè)sprite顯示不完。有幾種解決辦法,CCScrollView、listView,tableView。后面那兩個(gè)還沒研究,先試了下CCScrollView。
CCScrollView可以用來做游戲關(guān)卡選擇。
#ifndef __Test_H_ #define __Test_H_ #include "cocos2d.h" #include "../extensions/cocos-ext.h" USING_NS_CC; USING_NS_CC_EXT; class Test:public CCLayer,public CCScrollViewDelegate { public: virtual bool init(); static CCScene *scene(); CREATE_FUNC(Test); virtual void scrollViewDidScroll(CCScrollView* view); virtual void scrollViewDidZoom(CCScrollView* view); }; #endif // !__Test_H_
#include "Test.h" CCScene *Test::scene() { CCScene *scene = CCScene::create(); Test *layer = Test::create(); scene->addChild(layer); return scene; } bool Test::init() { if (!CCLayer::init()) return false; CCSize size = CCDirector::sharedDirector()->getWinSize(); CCLog("winSize = %d", size); CCScrollView *scroview = CCScrollView::create(); CCSprite *sp = CCSprite::create("HelloWorld.png"); //添加兩個(gè)精靈 sp->setPosition(ccp(size.width*0.5, size.height*0.5)); CCSprite *sp1 = CCSprite::create("HelloWorld.png"); sp1->setPosition(ccp(size.width*0.5, size.height*1.5)); containLayer->addChild(sp); containLayer->addChild(sp1); containLayer->setContentSize(CCSizeMake(size.width, size.height)); containLayer->setAnchorPoint(CCPointZero); containLayer->setPosition(CCPointZero); scroview->setPosition(CCPointZero); scroview->setContentOffset(CCPointZero); containLayer->setContentSize(CCSizeMake(480 , 320 * 2));//設(shè)置滾動(dòng)區(qū)域的大小 scroview->setViewSize(CCSizeMake(480, 320)); //設(shè)置顯示區(qū)域的大小 scroview->setContainer(containLayer); //設(shè)置需要滾動(dòng)的內(nèi)容 scroview->setTouchEnabled(true); //設(shè)置為false的話,可以自己實(shí)現(xiàn)觸摸事件 scroview->setDelegate(this); scroview->setBounceable(false); //是否有彈跳效果,默認(rèn)為true scroview->setDirection(kCCScrollViewDirectionVertical); //設(shè)置滾動(dòng)的方向,有三種可以選擇,水平,垂直呀什么的 this->addChild(scroview); setTouchEnabled(false); setTouchMode(kCCTouchesOneByOne); return true; } void Test::scrollViewDidScroll(CCScrollView* view) { CCLog("fssdf"); } void Test::scrollViewDidZoom(CCScrollView* view) { CCLog("fsfsfsdfsdf"); }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。