zoukankan      html  css  js  c++  java
  • 添加生成【Cocos2DX 】初窥门径(14)CCTableView

    近期一直在查找添加生成之类的问题,今天正好有机会和大家共享一下.

        !在2.X版本经已没有CCListView了,用CCTableView现实。

        

        直接写

        #include "cocos-ext.h" 或 using namespace cocos2d::extension; 会报错,因为没有添加额定的依附。

        

        添加依附:

        1.右键点击项目->属性->vc++->项目含包目录,将目录extensions含包进去。

        

        2.继承择选,连接器->入输->附加依附项,添加libExtentions.lib

        

        

        如果涌现:

        1>LINK : fatal error LNK1104: 法无打开件文“libExtentions.lib”

        新重生成下解决方案便可。

        

        

        面下看看怎么现实一个CCTableView

        .h

    #include "cocos2d.h"
    #include "cocos-ext.h"
    
    USING_NS_CC;
    using namespace cocos2d::extension; 
    
    class ListLayer : public CCLayer, public CCTableViewDataSource , public CCTableViewDelegate 
    {
    public :
    	ListLayer();
    	~ListLayer();
    	CREATE_FUNC(ListLayer);
    	virtual bool init();
    	//触摸事件
    	virtual void tableCellTouched(CCTableView* table, CCTableViewCell* cell);
    	//子项的巨细
    	virtual CCSize cellSizeForTable(CCTableView *table);
    	//生成子项的容内
    	virtual CCTableViewCell* tableCellAtIndex(CCTableView *table, unsigned int idx);
    	//共总多少项
    	virtual unsigned int numberOfCellsInTableView(CCTableView *table);
    	virtual void scrollViewDidScroll(CCScrollView* view);
    	virtual void scrollViewDidZoom(CCScrollView* view);
    
    private :
    	CCSize mSize;
    };

        .cpp

        每日一道理
    灯,带有一种明亮的光,每当深夜来临,是它陪伴着你,如此默默无闻。它是平凡的,外表华丽与否,那都是一样的,珍珠点缀,水晶加饰的灯它只能用以装饰,来满足人们的虚荣心,比起这,普普通通的日光灯是幸运的,因为它照明的本性没有改变,如同生活中的一部分人平平凡凡却实实在在。
    #include "ListLayer.h"
    
    ListLayer::ListLayer()
    {
    }
    
    ListLayer::~ListLayer()
    {
    }
    
    bool ListLayer::init()
    {
    	if(!CCLayer::init())
    	{
    		return false;
    	}
    	mSize=CCDirector::sharedDirector()->getWinSize();
    
    	CCTableView* pTableView = CCTableView::create(this, CCSizeMake(480, 480));
    	pTableView->setDirection(kCCScrollViewDirectionVertical);
    	pTableView->setPosition(ccp(20 , mSize.height/2 - pTableView->getContentSize().height/2 - 26));
    	pTableView->setDelegate(this);
    	pTableView->setVerticalFillOrder(kCCTableViewFillTopDown);
    	this->addChild(pTableView);
    	pTableView->reloadData();
    
    	return true;
    }
    
    void ListLayer::tableCellTouched(CCTableView* table, CCTableViewCell* cell)
    {
    	CCLog("cell touched at index: %i", cell->getIdx());
    }
    
    CCSize ListLayer::cellSizeForTable(CCTableView *table)
    {
    	return CCSizeMake(480, 80);
    }
    
    CCTableViewCell* ListLayer::tableCellAtIndex(CCTableView *table, unsigned int idx)
    {
    	CCString *pString =CCString::createWithFormat("this is cell  %d", idx);
    	CCTableViewCell *pCell = table->dequeueCell();
    	if (!pCell) 
    	{
    		pCell = new CCTableViewCell();
    		pCell->autorelease();
    		CCSprite *pSprite = CCSprite::create("listCellBg.png");
    		pSprite->setAnchorPoint(CCPointZero);
    		pSprite->setPosition(CCPointZero);
    		pCell->addChild(pSprite);
    
    		CCLabelTTF *pLabel = CCLabelTTF::create(pString->getCString(), "Arial", 20.0);
    		pLabel->setPosition(CCPointZero);
    		pLabel->setAnchorPoint(CCPointZero);
    		pLabel->setTag(123);
    		pCell->addChild(pLabel);
    	}
    	else
    	{
    		CCLabelTTF *pLabel = (CCLabelTTF*)pCell->getChildByTag(123);
    		pLabel->setString(pString->getCString());
    	}
    
    	return pCell;
    }
    
    unsigned int ListLayer::numberOfCellsInTableView(CCTableView *table)
    {
    	return 10;
    }
    
    void ListLayer::scrollViewDidScroll(CCScrollView *view)
    {
    }
    
    void ListLayer::scrollViewDidZoom(CCScrollView *view)
    {
    }

        

        效果图:

        

        

        

        

        

        转载请注明出处:http://blog.csdn.net/Vestigge

        

    文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网

  • 相关阅读:
    HDU 1060 Leftmost Digit
    HDU 1008 Elevator
    HDU 1042 N!
    HDU 1040 As Easy As A+B
    HDU 1007 Quoit Design
    欧拉函数
    HDU 4983 Goffi and GCD
    HDU 2588 GCD
    HDU 3501 Calculation 2
    HDU 4981 Goffi and Median
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3037397.html
Copyright © 2011-2022 走看看