溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

cocos CCScrollView

發(fā)布時(shí)間:2020-07-07 03:46:15 來源:網(wǎng)絡(luò) 閱讀:307 作者:十年磨一賤 欄目:編程語言

    要做個(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");
}


向AI問一下細(xì)節(jié)

免責(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)容。

AI