加载中…
个人资料
回头浪子
回头浪子
  • 博客等级:
  • 博客积分:990
  • 博客访问:123,173
  • 关注人气:61
天天美食
相关博文
精彩图文
谁看过这篇博文
加载中…
正文 字体大小:

CCTableView在cocos2dx中的使用

(2012-12-19 18:56:54)
标签:

cocos2dx

cctableview

ccscrollview

it

分类: Cocos2D

 

在引入tableView的节点头文件中加入

#include "cocos-ext.h"

using namespace cocos2d;

 

使节点类继承此两个抽象类

public CCTableViewDelegate,public CCTableViewDataSource

 

头文件中引入抽象类的虚函数

//datasource

   

    virtual CCSize cellSizeForTable(CCTableView *table);

 

    virtual CCTableViewCell* tableCellAtIndex(CCTableView *table, unsigned int idx);

 

    virtual unsigned intnumberOfCellsInTableView(CCTableView *table);

   

    //delegate

virtual void tableCellTouched(CCTableView* table, CCTableViewCell* cell);

 

另外还要引入CCScrollViewDelegate的虚函数,原因是CCTableView继承自CCScrollView

virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view) {}

   

virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view) {}

 

 

 

在初始化方法中调用

// Add the CCTableView

    CCTableView *tableView = CCTableView::create(this, CCSizeMake(600, 690));

    tableView->setDirection(kCCScrollViewDirectionVertical);

    tableView->setPosition(ccp(512-85,28));

    tableView->setDelegate(this);

    tableView->setVerticalFillOrder(kCCTableViewFillTopDown);

    this->addChild(tableView);

    tableView->reloadData();

 

 

 

实现的四个与table有关的虚函数

 

//datasource

 

CCSize HelloWorld::cellSizeForTable(CCTableView *table){

    return CCSizeMake(600, 100);

}

 

CCTableViewCell* HelloWorld::tableCellAtIndex(CCTableView *table, unsigned int idx){

    CCTableViewCell *cell = table->dequeueCell();

    if (!cell) {

        // the sprite

        cell = new CCTableViewCell();

        cell->autorelease();

        CCSprite *sprite = CCSprite::create("Icon-72.png");

        sprite->setAnchorPoint(ccp(0, 0));

        sprite->setPosition(ccp(0, 30));

        cell->addChild(sprite);

    }

    return cell;

}

 

unsigned int HelloWorld::numberOfCellsInTableView(CCTableView *table){

    return 40;

}

 

//delegate

void HelloWorld::tableCellTouched(CCTableView* table, CCTableViewCell* cell){

 

}

 

   

 

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    验证码: 请点击后输入验证码 收听验证码

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有