Cocos2d-x基本动作

本博客详细介绍了Cocos2d-x中精灵的基本动作,包括移动、缩放、旋转、倾斜、跳跃、淡入淡出及颜色渐变等,并提供了实际代码示例。

Cocos2d-x基本动作


boolHelloWorld::init()方法中先添加一个精灵


CCSprite* sp = CCSprite::create("Icon.png");
sp->setPosition(ccp(150, 150));
this->addChild(sp);


以下是动作的实现

//CCMoveBy  按。。。移动  就是说以当前点为基础移动ccp(0, 100)这么多的距离
    CCMoveBy* moveBy = CCMoveBy::create(1, ccp(0, 100));
    sp->runAction(moveBy);


//CCMoveTo是移动到那个位置这里是指ccp(200, 100这个位置
  CCMoveTo* moveBy = CCMoveTo::create(1, ccp(200, 100));
  sp->runAction(moveBy);


//scaleTo缩放的意思create方法中的数字是指x,y放大缩小的倍数
CCActionInterval *scaleTo= CCScaleTo::create(2, 2);
sp->runAction(scaleTo);


// CCScaleBy按。。。 缩放
   CCActionInterval *scaleBy=CCScaleBy::create(2, 2);
   CCActionInterval *actionByBack=scaleBy->reverse();
   sp->runAction(actionByBack);


//  CCRotateTo   create方法中第一个参数是指多长时间完成这个动作  ,第二个参数是指转动的角度
    CCActionInterval *rotateTo=CCRotateTo::create(2, 90);
    sp->runAction(rotateTo);


//skewTo  create方法中第一个参数是动作完成的时间,第二个参数是x轴变化的参数,第三个参数是y轴变化的参数大家可以试试create(2, 0, 50)和create(2, 50, 0)以及create(2, 50, 50) 三个的不同变化
   CCActionInterval *skewTo=CCSkewTo::create(2, 0, 50);
   sp->runAction(skewTo);



//所有以By结尾的动作通常是支持reverse()方法的,这个方法的意思是反动作的意思
CCActionInterval *skewBy=CCSkewBy::create(2, 50, 10);
CCActionInterval *actionByBack=skewBy->reverse();
sp->runAction(actionByBack);


//CCJumpTo第一个参数是指整个动作执行的时间,第二个参数是指目标位置,第三个参数是指每次跳跃的高度,第4个参数是指整个跳跃动作几次完成
CCActionInterval *jumpTo=CCJumpTo::create(2, ccp(300, 200), 100, 4);
sp->runAction(jumpTo);



//CCJumpBy参数与CCJumpTo基本相同,不同的是所有By结尾的是都是以当前为基数移动ccp(100, 100)这个参数的距离,而To是移动到ccp(100, 100)这个位置
    CCActionInterval *jumpBy=CCJumpBy::create(2, ccp(100, 100), 50, 4);
    CCActionInterval *actionByBack=jumpBy->reverse();
    sp->runAction(actionByBack);



//CCFadeIn从无到有,也叫淡入
 CCActionInterval *fadeIn=CCFadeIn::create(2);
 sp->runAction(fadeIn);


//CCFadeOut从有到无
CCActionInterval *fadeOut=CCFadeOut::create(2);
sp->runAction(fadeOut);



//颜色渐变到
CCActionInterval *tiniTo=CCTintTo::create(2, 255, 255, 0);
sp->runAction(tiniTo);


//第一个参数是持续时间,第二个是闪耀的次数
CCActionInterval *blink=CCBlink::create(2, 10);
sp->runAction(blink);


代码下载: http://pan.baidu.com/share/link?shareid=316171206&uk=3189484501


本文出自 “7087095” 博客,请务必保留此出处http://7097095.blog.51cto.com/7087095/1228515

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值