[cocos2dx]通过CCTableView创建的滑屏,如何取得其中的项,从而改变其属性

yxlovemoney yxlovemoney 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
还是先放上一部分代码,方便说明
首先是头文件

#include "cocos2d.h"
#include "cocos-ext.h"

USING_NS_CC;
USING_NS_CC_EXT;

class CPaintScene : public CCLayer, public CCTableViewDataSource, public CCTableViewDelegate
{
public:
// 省略部分代码

virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView *view);
virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView *view);

//处理触摸事件,可以计算点击的是哪一个子项
virtual void tableCellTouched(CCTableView *table, CCTableViewCell *cell);
//每一项的宽度和高度
virtual CCSize cellSizeForTable(CCTableView *table);
//生成列表每一项的内容
virtual CCTableViewCell *tableCellAtIndex(CCTableView *table, unsigned int idx);
//一共多少项
virtual unsigned int numberOfCellsInTableView(CCTableView *table);
}


然后是CPP文件里比较主要的方法

void CPaintScene::tableCellTouched(CCTableView *table, CCTableViewCell *cell)
{
CCLOG("cell touched at index: %i", cell->getIdx());
CCSprite *temp = (CCSprite *)(cell->getChildByTag(1));
//temp->setPositionX(20.f);
}

CCTableViewCell *CPaintScene::tableCellAtIndex(CCTableView *table, unsigned int idx)
{
// 格式化相应的图片名称
CCString *pString = CCString::createWithFormat("%d.png", idx + 1);
CCTableViewCell *pCell = table->dequeueCell();// 返回空闲的(被释放的)子项?
if (!pCell)
{
pCell = new CCTableViewCell();
pCell->autorelease();
//CCSprite *pSprite = CCSprite::create("building.png");
CCSprite *penSprite = CCSprite::createWithSpriteFrameName(pString->getCString());
penSprite->setAnchorPoint(CCPointZero);
penSprite->setPosition(CCPointZero);
pCell->addChild(penSprite, 0, idx);

CCLabelTTF *pLabel = CCLabelTTF::create(pString->getCString(), "Arial", 20.0);
pLabel->setPosition(CCPointZero);
pLabel->setAnchorPoint(CCPointZero);
pLabel->setTag(123);
pCell->addChild(pLabel);
}
else
{
CCLabelTTF *pLabel = (CCLabelTTF *)pCell->getChildByTag(123);
pLabel->setString(pString->getCString());
}

return pCell;
}


就得到了图上的效果

本来是想在tableCellTouched 这里取得对应的精灵,然后点击改变其坐标,但发现这样取不出来,
进到CCTableView的头文件似乎也没找到合适的方法,
求教 下怎么才能取得点击项上的对应的精灵对象呢?
...全文

相关推荐

CCB2Cocos2dxCPP:自动生成cocos2dx类文件(包括* .h文件和* .cpp文件),该文件可以实现成员绑定以及菜单或控制按钮选择器代码

CCBGenerateCppBindCode 本脚本是用作自动生成CCB[cocosbuilder]文件到对应C++的数据绑定,使用lua脚本语言 当前支持的cocos2dx的版本为 2.1.2 及以上 当前支持的cocosbuilder版本为 3.0 Alpha3 及以上 Supported Platforms 只要能跑lua的都可以,装好lua后(推荐使用lua5.1.4),在命令行下调用此脚本即可,具体见使用说明 [] Usage lua GenerateCppCodeFromCCBFile.lua -f ccbFilePath -c ClassName ccbFilePath 这个是对应的要解析的ccb文件位置 ClassName 要生成的C++类的名称,最后会生成 ClassName.h 和 ClassName.cpp 两个文件 示例:lua GenerateCppCodeFro

牟云峰

中国网络安全产业创新发展联盟“Al+网信安全”典型案例集8.4

人工智能自身安全方向 聚焦人工智能技术全生命周期安全治理,围绕大模型、智能体等新一代人工智能技术的安全风险开展系统性研究。重点关注基础设施安全、训练数据防投毒与防泄漏、模型算法鲁棒性增强、应用服务内容合规检测、智能体行为监控等关键领域,构建A安全防护、检测与监测技术体系。深入研究智能体在研发、部署、应用全生命周期的安全风险,系统梳理风险点与标准框架,牵头或参与智能体安全领域的国际、国家、行业标准制定,推 动AI安全治理规范化、标准化。 人工智能赋能安全方向 推动人工智能技术与网络安全深度融合,发挥Al技术在安全领域的赋能作用。重点发展安全大模型、安全智能体、AI驱动的自动化渗透测试与漏洞挖掘等技术与产品,提升网络安全防护的智能化、自动化水平。整合行业优秀实践与优质资源,提炼可复制可推广的解决方案,促进供需精准对接。举办AI安全技术研讨活动,聚焦AI攻防对抗等前沿热点,推动AI赋能安全关键技术突破与创新应用,力争打造自主的、能够与国际水平对标 的大模型赋能安全攻防应用能力集。

richer

国央企创新负责人如何推动本单位技术成果的高效转化?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

FactoryTool-v1.89.zip

FactoryTool_v1.89.zip

一and一>二

2013-2022 全球30米分辨率土地生产力动态数据集(56文件)TIF

详情介绍:数据集为全球30米分辨率土地生产力动态产品,土地生产力趋势是联合国可持续发展目标15.3(土地退化中性)监测与报告的重要子指标,可用于识别土地生产力下降、稳定、受压和上升等状态,为土地退化评估、生态修复优先区识别和精细尺度管理决策提供数据支撑。 注意事项:当前数据集较大,剩余分卷需要打开 https://pan.quark.cn/s/1e4489fddc11?pwd=yQgw 进行下载。

神仙别闹
评论 5
收藏 已收藏
分享
返回顶部
yxlovemoney
游戏开发 8,324 成员 23,685 内容