博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2dx中的一些坑
阅读量:5967 次
发布时间:2019-06-19

本文共 1156 字,大约阅读时间需要 3 分钟。

1、CCTableView中的lua绑定

LUA_TableViewDataSource

在TestLua里有例子,有个TableView的例子

function TableViewTestLayer.cellSizeForTable(table,idx) 

  return 60,60

end

结合下面的C++代码发现第一个是width,第二是height

virtual CCSize tableCellSizeForIndex(CCTableView *table, unsigned int idx){if (NULL != table ){int nHandler = table->getScriptHandler(CCTableView::kTableCellSizeForIndex);if (0 != nHandler){CCArray* resultArray = CCArray::create();if (NULL != resultArray){CCLuaEngine::defaultEngine()->executeTableViewEvent(CCTableView::kTableCellSizeForIndex, table,&idx,resultArray);CCAssert(resultArray->count() == 2, "tableCellSizeForIndex Array count error");CCDouble* width = dynamic_cast
(resultArray->objectAtIndex(0));CCDouble* height = dynamic_cast
(resultArray->objectAtIndex(1));if (NULL != width && NULL != height){return CCSizeMake((float)width->getValue(), (float)height->getValue());}}}}return CCSizeMake(0,0);}

2、获取点击的sender

点击时发送的sender没有传回,可以在CCLuaEngine里的executeNodeEvent,executeNodeTouchEvent,executeNodeTouchesEvent

里加上下面两句。

event["tag"]=CCLuaValue::intValue(pNode->getTag());

event["target"]=CCLuaValue::ccobjectValue(pNode,"CCNode”);

 

转载地址:http://zavax.baihongyu.com/

你可能感兴趣的文章
registered the JDBC driver [com.mysql.jdbc.Driver]
查看>>
Linux系统中的文本处理工具
查看>>
IDE---Python IDE之Eric5在window下的安装
查看>>
python---LineReceiver实现记录服务器
查看>>
Mybatis调用Oracle中的存储过程和function
查看>>
telnet :No route to host
查看>>
基本安装lnmp环境
查看>>
yum源资料汇总
查看>>
7、MTC与MTV,http请求介绍
查看>>
logstash消费阿里云kafka消息
查看>>
第四节课作业
查看>>
EasyUI Calendar 日历
查看>>
Oracle 索引
查看>>
数据库复习
查看>>
unix 环境高级编程
查看>>
为数据库建立索引
查看>>
第二周作业-软件工作量的估计
查看>>
我的wordpress插件总结
查看>>
MAXIMO 快速查找实现
查看>>
Oracle——条件控制语句
查看>>