[Cocos2d-x]--CCTabelView显示指定行

来源:互联网 发布:stm32f103vb数据手册 编辑:程序博客网 时间:2024/05/20 00:38

(⊙o⊙)哦...先牢骚一下吧,马上就到春节了,这几天上班公交上已经有很多空位了,看着大家大包小包的等车回家,这着实让我这仍然加班加点的人觉得比较蛋疼,大半年来的的6x12上班确实让我觉得身心疲惫,不得不开始担心自己是否能继续吃得消这样的加班强度,总感觉自己过着和别人不一样的生活,周一到周六早上九点上班,晚上九点下班,回到家洗个澡看看书就可以睡觉,第二天继续撸,天天亦是如此[ so,程序员哪儿来的时间把妹?光棍是必然的...],周日还蛋疼的大老早就自己醒了,真是作死的节奏哇,~~噢不废话了,正题吧!


      想必大家读CCTableView这个控件一点儿也不陌生,你几乎可以在每个游戏以及应用里找到的的影子,比如说游戏中的一些排行榜,或者是商城等功能模块,一般都离不开

它。在手机屏幕大小有限的显示区域,如何能给玩家友好的显示更多的数据,这个控件就起着很大的作用了,其实用法还算比较简单,在TestCpp里就可以看到它的例子,

所以我这里就不讨论它怎么用了,我们来说说例子里没有展示出来它另一功能吧------- 显示指定行!

用法举例:商城中显示到指定商品,排行榜中显示到指定排名等。

代码举例:

void Market::showCellOfIndex(unsigned int index){    do     {        //条件不符合, 索引物品已经在当前页并已经渲染出来,不需要寻找[根据自己实际情况来定]        //这里的_listNum是tableView总共有的cell,numberOfCellsInTableView函数返回的        if (index < 5 || index >_listNum)        {            return;        }        CCTableView* tableView = static_cast<CCTableView*>(getChildByTag(TAG_TABLEVIEW));        CC_BREAK_IF(!tableView);        CCSize cellSize = CCSizeMake(CELL_WIDTH,CELL_HEIGHT);           float offsetX = 0;        float offsetY = 0;        if (tableView->getDirection() == kCCScrollViewDirectionVertical)        {            if (tableView->getVerticalFillOrder() == kCCTableViewFillTopDown)            {                offsetY = -cellSize.height * (_listNum - index-1);            }else            {                offsetY = -cellSize.height * index-1;            }        }else        {            if (tableView->getVerticalFillOrder() == kCCTableViewFillTopDown)            {                offsetX = -cellSize.width * (_listNum - index);            }else            {                offsetX = -cellSize.width * index;            }        }        tableView->setContentOffset(ccp(offsetX,offsetY));    } while (0);}


就一个函数,传入显示的Index,就可以了,比较简单,不多说了(~﹃~)~zZ


0 0
原创粉丝点击