cocos2dx自学之路 精灵执行动作+TableView控件
来源:互联网 发布:swift 自定义元素数组 编辑:程序博客网 时间:2024/05/09 21:43
首先是TableView
首先需要新建一个类 然后 继承TableViewDataSource,TableViewDelegate
重写
public: virtual Size cellSizeForTable(TableView *table); virtual TableViewCell* tableCellAtIndex(TableView *table, ssize_t idx); virtual ssize_t numberOfCellsInTableView(TableView *table);public:virtual void tableCellTouched(TableView* table, TableViewCell* cell);virtual void scrollViewDidScroll(cocos2d::extension::ScrollView* view){}; virtual void scrollViewDidZoom(cocos2d::extension::ScrollView* view) {};
然后再重写的方法中设置tableview
/** **设置Table的尺寸 Size第二个参数是 每列的高度距离,第一个参数作用未知 **//*Size HelloWorld::cellSizeForTable(cocos2d::extension::TableView *table){return Size(5,50);}TableViewCell* HelloWorld::tableCellAtIndex(cocos2d::extension::TableView *table,ssize_t idx){TableViewCell *cell = table->dequeueCell();//LabelTTF *label;Sprite * sprite;if(cell==NULL){cell = TableViewCell::create();sprite = Sprite::create("cell.jpg");sprite->setTag(2);sprite->setAnchorPoint(Point(0,0));//设置列 的锚点 不设置会显示不完整cell->addChild(sprite);}else{sprite = (Sprite*)cell->getChildByTag(2);}//set datareturn cell;}ssize_t HelloWorld::numberOfCellsInTableView(cocos2d::extension::TableView *table){return 100;} *//************ Touched Event **************/ //点击TableView事件/*void HelloWorld::tableCellTouched(cocos2d::extension::TableView *table,TableViewCell *cell){log("you touched!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");}
最后是 使用tableview
/*TableView *tableView = TableView::create(this, Size(200,350)); //Size的第二个参数是 table的高度,第一个参数是table宽度 // tableView->setDirection(ScrollViewDirectionVertical);tableView->setAnchorPoint(Point(0,0)); tableView->setPosition(400,0);//xy坐标 tableView->setDelegate(this); //tableView->setVerticalFillOrder(TableViewFillTopDown); this->addChild(tableView);*/
接下来是精灵执行动作的一些示例,在此做上笔记
//普通移动精灵/*auto sprite = Sprite::create("HelloWorld.png");sprite->setPosition(visibleSize/2);sprite->setPositionX(100);sprite->setScale(0.5); //缩放this->addChild(sprite);sprite->runAction(MoveTo::create(2,Vec2(visibleSize.width-100,visibleSize.height/2))); //移动action*//******************** 动作 ***************************///顺序执行动作/*auto move1 = MoveTo::create(2,Vec2(visibleSize.width-100,visibleSize.height/2));auto move2 = MoveBy::create(2,Vec2(-700,0));sprite->runAction(Sequence::create(move1,move2,NULL));*///顺序执行动作方式2/*auto move1=MoveBy::create(2,Vec2(700,0));auto move2=move1->reverse();sprite->runAction(Sequence::create(move1,move2,NULL));*///并列执行动作/*auto move = MoveBy::create(2,Vec2(700,0));auto scale = ScaleTo::create(2,1);//sprite->runAction(Spawn::create(move,scale,NULL));//动作执行完毕回调函数sprite->runAction(Sequence::create(Spawn::create(move,scale,NULL),CallFunc::create([](){CCLOG("action complete");}),NULL));
0 0
- cocos2dx自学之路 精灵执行动作+TableView控件
- cocos2dx 多个精灵执行同一个动作
- cocos2dx 精灵动作优化
- cocos2dx创建精灵动作
- 精灵的执行动作
- 创建精灵、执行动作
- cocos2dx中精灵的动作
- cocos2dx自学之 动作特效与场景切换特效
- cocos2dx多个精灵调用runAction()方法执行组合动作,只有最后一个精灵有效的问题
- cocos2dx中精灵如何run一个动作
- Cocos2dx之精灵创建
- Cocos2dx之精灵坐标系
- Cocos2dx之精灵批处理
- Cocos2Dx之动作Action
- cocos2dx之动作Action
- Cocos2Dx之动作Action
- Quick cocos2dx-Lua(V3.3R1)学习笔记(6)---- 让精灵执行不同的动作
- cocos2d-x精灵动作不执行解决方法
- C++ 实现string的split
- SpringMVC图片上传
- MySQL INTO OUTFILE导出导入数据|mysqldump
- IOS开发-14.利用代码添加autolayout约束
- x264中bs.h文件部分函数解读
- cocos2dx自学之路 精灵执行动作+TableView控件
- 4.第三单元任务三实训:编写一个类ExceptionTest,在main方法中使用try-catch-finally语句结构实现:在try语句块中,编写两个数相除操作,相除的两个操作数要求程序运行时用
- iOS中几种数据持久化方案
- java动态代理
- ohasd failed to start错误解决办法
- POJ 2387
- 2015年6月积累
- 12天学好C语言——记录我的C语言学习之路(Day 11)
- 什么叫编译时和运行时