一、关卡选择的设计
1.TableView相关类在扩展包里,需要声明:
#include “cocos-ext.h"
USING_NS_CC_EXT;
2.
自定义TableView继承于CCLayer,因此可以 捕获触摸,同时继承于扩展包的CCTableViewDataSource和CCTableViewDelegate。前者是TableView的数据 源,包含了一系列和TableView数据单元相关的操作,后者则是继承于CCScrollViewDelegate抽象类,声明了一些和滚动,放大,触 摸回调之类的接口,然后在内部包含了一个CCTableView,这用起来有点像Android的Adapter;@H_301_17@
@H_301_17@
3.实现@H_301_17@
@H_301_17@
3.1 init()
CCSize winSize = CCDirector::sharedDirector()->getWinSize();@H_301_17@
CCTableView* tableView = CCTableView::create(this,winSize);@H_301_17@
@H_301_17@
tableView->setDirection(kCCScrollViewDirectionHorizontal);//设置方向@H_301_17@
tableView->setPosition(ccp(0,winSize.height/2-50));@H_301_17@
tableView->setDelegate(this);@H_301_17@
@H_301_17@
this->addChild(tableView);@H_301_17@
tableView->reloadData();@H_301_17@
@H_301_17@
3.2 触摸回调tableCellTouched@H_301_17@
void TableViewTestLayer::tableCellTouched(CCTableView* table,CCTableViewCell* cell)@H_301_17@
{@H_301_17@
}@H_301_17@
@H_301_17@
3.3 单元大小tableCellSizeForIndex@H_301_17@
CCSize TableViewTestLayer::tableCellSizeForIndex(CCTableView* table,unsigned int idx)@H_301_17@
{@H_301_17@
@H_301_17@
}@H_301_17@
@H_301_17@
3.4 设置数据源tableCellAtIndex@H_301_17@
CCTableViewCell* TableViewTestLayer::tableCellAtIndex(CCTableView* table,unsigned int idx)
{
}
二、文字拖曳和定位(Text1222)
1.加入精灵和文字精灵(略)
@H_301_17@
2.触摸实现和拖拽定义@H_301_17@
void AutoSet::registerWithTouchDispatcher(void)@H_301_17@
{@H_301_17@
}@H_301_17@
2.2 触摸开始@H_301_17@
bool AutoSet::ccTouchBegan(cocos2d::CCTouch* pTouch,cocos2d::CCEvent* pEvent)@H_301_17@
{@H_301_17@
@H_301_17@
}@H_301_17@
2.3* 触摸过程@H_301_17@
void AutoSet::ccTouchMoved(cocos2d::CCTouch* pTouch,cocos2d::CCEvent* pEvent)@H_301_17@
{@H_301_17@
@H_301_17@
}@H_301_17@
2.4 触摸结束@H_301_17@
void AutoSet::ccTouchEnded(CCTouch* pTouch,CCEvent* pEvent)@H_301_17@
{@H_301_17@
}@H_301_17@
@H_301_17@
结后语:这个有点类似于iOS中的UITableView的写法,实际上是一样的东西,有学过iOS的同学会比较好理解! @H_301_17@