Cocos2d-x::TableView关卡设计,文…
发布时间:2020-12-14 21:21:06 所属栏目:百科 来源:网络整理
导读:一、关卡选择的设计 1.TableView相关类在扩展包里,需要声明: #include “cocos-ext.h" USING_NS_CC_EXT; 2. 自定义TableView继承于CCLayer,因此可以 捕获触摸,同时继承于扩展包的CCTableViewDataSource和CCTableViewDelegate。前者是TableView的数据 源
一、关卡选择的设计
1.TableView相关类在扩展包里,需要声明:
#include “cocos-ext.h"
USING_NS_CC_EXT;
2.
自定义TableView继承于CCLayer,因此可以 捕获触摸,同时继承于扩展包的CCTableViewDataSource和CCTableViewDelegate。前者是TableView的数据 源,包含了一系列和TableView数据单元相关的操作,后者则是继承于CCScrollViewDelegate抽象类,声明了一些和滚动,放大,触 摸回调之类的接口,然后在内部包含了一个CCTableView,这用起来有点像Android的Adapter;
3.实现
3.1 init()
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCTableView* tableView = CCTableView::create(this,winSize);
tableView->setDirection(kCCScrollViewDirectionHo
tableView->setPosition(ccp(0,winSize.height/2-50));
tableView->setDelegate(this);
this->addChild(tableView);
tableView->reloadData();
3.2 触摸回调tableCellTouched
void TableViewTestLayer::tableCellTouched(CCTableView* table,CCTableViewCell* cell)
{
}
3.3 单元大小tableCellSizeForIndex
CCSize TableViewTestLayer::tableCellSizeForIndex(CCTableView* table,unsigned int idx)
{
}
3.4 设置数据源tableCellAtIndex
CCTableViewCell* TableViewTestLayer::tableCellAtIndex(CCTableView* table,unsigned int idx)
{
}
二、文字拖曳和定位(Text1222)
1.加入精灵和文字精灵(略)
2.触摸实现和拖拽定义
2.1 注册触摸事件
void AutoSet::registerWithTouchDispatc
{
}
2.2 触摸开始
bool AutoSet::ccTouchBegan(cocos2d::CCTouch* pTouch,cocos2d::CCEvent* pEvent)
{
}
2.3* 触摸过程
void AutoSet::ccTouchMoved(cocos2d::CCTouch* pTouch,cocos2d::CCEvent* pEvent)
{
}
2.4 触摸结束
void AutoSet::ccTouchEnded(CCTouch* pTouch,CCEvent* pEvent)
{
}
结后语:这个有点类似于iOS中的UITableView的写法,实际上是一样的东西,有学过iOS的同学会比较好理解!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |