CCCallFunC家族

具身大小脑全栈全网独家复现|LLM链式推理+边缘VLA感知+毫秒级运动小脑、优化人形步态僵硬运动滞后、打通思考-行走-操作全链路适配居家工业多场景落地 高层决策大脑(异步10Hz,GPU算力):轻量化机器人微调LLM+RhinoVLA边缘视觉大模型,负责自然语言链式工序拆解、全局环境语义感知、目标物体筛选、跨机器人动作适配,输出粗粒度运动目标,不介入底层伺服计算;依托View Registry实现异构机器人动作对齐,适配多形态机器人切换;中层调度小脑(硬实时1kHz,CPU算力) 阅读详情

当我们需要在一个动作序列中某一个动作执行结束之后,调用某个函数用于执行一个任务的时候,我们可以使用CCCallFunC家族函数。CCCallFunC是CCActionInstant类的子类。值得注意的是,虽然CCCallFunC家族函数是瞬时动作函数的子类,但是所谓的瞬时,也只是指函数调用的一瞬间,而关于函数内部怎么执行,耗用多久,则完全与瞬时没有任何关系。CCCallFunC家族函数可以将函数调用的过程封装成一个动作类,从而放入动作序列中以供我们调用。


HelloWorldScene.h如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "cocos2d.h"
class  HelloWorld :  public  cocos2d::CCLayerColor
{
public :
     // Method 'init' in cocos2d-x returns bool, instead of 'id' in cocos2d-iphone (an object pointer)
     virtual  bool  init();
     // there's no 'id' in cpp, so we recommend to return the class instance pointer
     static  cocos2d::CCScene* scene();
                                                                          
     //先声明四个动作的回调方发
     void  callBack();
     void  callNodeBack(CCNode* sender);
     void  callNodeBack(cocos2d::CCNode *sender,  void  * data);
     void  callObjectBack( CCObject * data);
     // preprocessor macro for "static create()" constructor ( node() deprecated )
     CREATE_FUNC(HelloWorld);
};
#endif // __HELLOWORLD_SCENE_H__



HelloWorldScene.cpp文件中的

boolHelloWorld::init()函数中加入如下代码:

1
2
3
4
5
6
7
8
9
10
11
if  ( !CCLayerColor::initWithColor(ccc4(255, 255, 255, 255)) )
    {
        return  false ;
    }
                                                            
    //CCCallFunc家族函数:当我们需要在一个动作完成之后需要调用某个函数时使用
                                                            
    CCSprite* player = CCSprite::create( "Icon.png" );
    player->setPosition(ccp(100, 100));
    this ->addChild(player);
    CCMoveTo* action = CCMoveTo::create(1, ccp(200, 200));



1
2
3
4
5
//CCCallFunc的功能非常简单,它只能简单地实现在动作序列中帮助我们调用一个函数的功能。
    CCCallFunc* call  = CCCallFunc::create( this , callfunc_selector(HelloWorld::callBack));
    //下面这行代码是创建一个动作序列
    CCFiniteTimeAction* seq = CCSequence::create(action,call,NULL);
    player->runAction(seq);


1
2
3
4
5
//CCCallFunc的回调函数
void  HelloWorld::callBack()
{
     CCLog( "CCCallFunc" );
}




1
2
3
4
//CCCallFuncN  既能够调用一个方法还能够将调用的对象传过去  这里的调用对象就是player  它是个精灵对象
     CCCallFuncN* callN = CCCallFuncN::create( this , callfuncN_selector(HelloWorld::callNodeBack));
     CCFiniteTimeAction* seq2 = CCSequence::create(action,callN,NULL);
     player->runAction(seq2);


1
2
3
4
5
6
//CCCallFuncN的回调函数
void  HelloWorld::callNodeBack(cocos2d::CCNode *sender)
{
     CCSprite* player = (CCSprite*) sender;
     CCLog( "%f" ,player->getPosition().x);
}



1
2
3
4
5
6
7
8
9
//先创建一个字典
     CCDictionary* dic = CCDictionary::create();
     dic->retain();
     dic->setObject(CCString::create( "zxcc" ), 1);
                               
     //CCCallFuncND可以传递一个任意数据类型  例如,我们可以传递一个字典
     CCCallFuncND* callND = CCCallFuncND::create( this , callfuncND_selector(HelloWorld::callNodeBack),( void *)dic);
     CCFiniteTimeAction* seq3 = CCSequence::create(action,callND,NULL);
     player->runAction(seq3);



1
2
3
4
5
6
7
8
//CCCallFuncND的回调函数
void  HelloWorld::callNodeBack(cocos2d::CCNode *sender,  void  * data)
{
     CCDictionary* dic = (CCDictionary*)data;
     CCString* str = (CCString*)(dic->objectForKey(1));
                           
       CCLog( "%s" ,str->getCString());
}




1
2
3
4
5
6
7
8
9
//我们创建一个精灵
     CCSprite* player2 = CCSprite::create( "player2.png" );
     player2->setPosition(ccp(300, 300));
     this ->addChild(player2);
     //在例子中我先移动一个精灵 ,再移动另一个精灵
    // CCCallFuncND传值的类型只能为CCObject类型
     CCCallFuncO* callO = CCCallFuncO::create( this , callfuncO_selector(HelloWorld::callObjectBack), player2);
     CCFiniteTimeAction* seq4 = CCSequence::create(action,callO,NULL);
     player->runAction(seq4);




1
2
3
4
5
6
7
8
//CCCallFuncO的回调方法
void  HelloWorld::callObjectBack(cocos2d::CCObject *data)
{
     CCSprite* player = (CCSprite*)data;
               
     player->runAction(CCMoveTo::create(1, ccp(1 ,90)));
             
}



代码例子: http://pan.baidu.com/share/link?shareid=611826954&uk=3189484501


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

手把手教你RK3568 MIPI屏驱动适配,纯干货! RK3568 作为一款高性能的多媒体处理器,在嵌入式领域中备受瞩目。它采用了先进的 22nm 制程工艺,搭载四核 Cortex-A55 处理器,这种架构为芯片提供了高效的功耗比,使其在运行各种复杂任务时,既能保证性能,又能有效控制功耗。在实际应用中,无论是多任务处理还是运行大型应用程序,RK3568 都能凭借其四核 Cortex-A55 处理器,实现流畅的操作体验,满足智能设备对高性能和低功耗的需求。 阅读详情

相关推荐

信号完整性基础04:串扰(1)

我们理解了“单个”传输线(传输线是信号路径+回流路径,切记~),但大多数情况下单独“传输线”的情况并不多见(理想情况下的同轴线缆可以算一个),大多数我们PCB板上有成百上千条走线,它们组成了一个“大社会”,就如当年的TVB神剧《创世纪》一样,到处充满着恩怨情仇;稍处理不慎,单板这个“社会”就会崩溃。那么我们要从哪里入手去理解它呢?最基本的就是从两条PCB走线(传输线)之间的串扰开始。好,年前倒数第二章:《为什么会有串扰》。 ps:我们了解了x射线是啥,那么今天开始讲“放射线”,这两种东西是否就是同一种呢~

WKEZHENG的博客 6038

cocos2dx之CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO

在CCCallFunc系列动作的4个类中,CCCallFunc调用的方法不包含参数,CCCallFuncN调用的方法包含一个CCNode*类型的参数,表示执行动作的对象。CCCallFuncND调用的方法包含两个参数,不仅有一个节点参数,还有一个自定义参数(CCNode*与void*)。CCCallFuncO调用的方法则只包含一个CCObject*类型的参数。 实际上,CCCallFunc系列动

专注,努力,勤奋 3754

AMSR-2数据下载实战:从JAXA到LPRM的算法选择与效率优化

本文详细介绍了AMSR-2数据的下载实战,重点对比了JAXA与LPRM算法的差异及适用场景,并提供了高效下载方案和网络优化策略。通过实际案例和代码示例,帮助用户快速获取和处理AMSR-2数据,提升研究效率。

rl6adventurer的博客 691

CCCallFunc CCCallFuncN CCCallFuncND的区别和使用

CCCallFunc系列动作包括: CCCallFunc: CCCallFuncN: CCCallFuncND: CCCallFuncO: 四个动作,用来在动作方法中进行方法的调用(之所以不是函数调用,是因为它们只能调用某个类中的实例方法,而不是调用普通的C函数)。 当某个对象执行CCCallFunc系列动作时,就会调用一个先前被设置好的方法,以完成某些特别的功

YUZHIBOYI的专栏 6840

离散数学 --- 图论基础 --- 图的同构,通路与回路,可达性与最短通路

同一个图(这里的图是抽象的数学定义)可以有不同的图形表示方法1.重数:两点之间的平行边的个数1.得到 n!的过程,一个图中的一个结点在另一个图中对应的结点有n种可能(黄框中定义的图来讨论),这个对应好后下一个结点有 n - 1 种可能,再下一个有n-2种,直到最后一个为1,所有可能的结果就等于 n * (n - 1) *(n - 2)*....*1 = n!2.虽然说找对应结点很困难,但不是没有规律可循的。比如1.两个相互对应的结点的度数要相同;

qq_51947882的博客 7441

【C++PCL】点云文件读写

本文介绍 PCL 中 PCD 与 PLY 点云文件的读取、保存和字段检查,覆盖 PointXYZI、PointXYZRGB、ASCII、二进制及压缩二进制,并给出 C++11 实操代码与参数调试建议。

weixin_45196569的博客 42

cocos2d中CCCallFunc、CCCallFuncN和CCCallFuncND的区别

  cocos2d中有3种回调方式:CCCallFunc、CCCallFuncN和CCCallFuncND 其中,他们有什么区别呢?   这里我稍微总结下,不对的欢迎讨论和拍砖!   看源代码的excute方法,我总结下面3点: 1. CCCallFunc   -(void) execute { [targetCallback performSelector:sele...

wsq198760的专栏 221

RK3588开发笔记-Buildroot编译host-nodejs报错解决ModuleNotFoundError: No module named ‘_bz2‘

在RK3588的开发过程中,使用Buildroot进行系统的构建和编译是一个常见的选择。然而,在编译host-nodejs的过程中,有时会遇到报错信息提示。这个错误通常是由于Python环境中缺少相应的模块导致的。以下将记录我解决这个问题的过程。。在RK3588的开发过程中,使用Buildroot编译host-nodejs时遇到的错误,通常是由于缺少相应的Python模块导致的。通过配置buildroot pythong bzip2开发库并重新编译,可以解决这个问题。

flypig has a dream! 899

cocos2d-x学习日志(4) -- CCCallFunc系列函数的应用

一、简介 cocos2d-x常用回调函数有:CCCallFunc,CCCallFuncN,CCCallFuncND 它们之间区别: CCCallFunc:执行对应的回调函数,其中回调函数不可带参数 CCCallFuncN:执行对应的回调函数,其中回调函数带一个参数,其中参数CCNode* sender,被传递到run这个action的对象中。 CCCallFuncND:和

小枫的专栏 2034

【OpenClaw从入门到精通】第60篇:多智能体协同实战——用“龙虾”搭建你的数字员工团队(2026企业版)

2026年AI Agent企业落地的核心趋势,正从“单Agent单兵作战”转向“多智能体协同组网”。本文以全球开发者先锋大会“百虾大战”真实案例为蓝本,深度拆解OpenClaw多智能体协同的技术内核——三层解耦架构(模型层-技能层-网关层),系统搭建包含项目经理、架构师、执行者、质量把关者的4大核心Agent团队。通过三种主流协作架构对比、全链路配置代码实操、故障自愈实战演练,结合电商新品上架虚拟场景全流程演示,解决企业多Agent部署中的权限隔离、任务协同、运维自治三大核心痛点。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 769

AUTOSAR OS Counter讲解

Counter(计数器)以tick为单位记录操作系统中发生了多少“事情”。tick(滴答)是一个抽象的单位。时间,例如毫秒,微妙,分钟等,然后计数器计算过去了多少时间旋转,例如以度或分钟为单位,计数器计算物体旋转了多少按钮按下,计数器计算按钮按下多少次错误,计数器计算错误发生的频次中断(有时是任务)用于驱动一个计数器。该驱动程序负责进行正确的OS API调用来滴答计数器,或者告诉OS计数器已经滴答到一个所需的值。

酒无忧的博客 1074

Cocos2dx 中的CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO比较

qinning199原创,欢迎转载。转载请注明:http://www.cocos2dx.net/?p=27 首先看一张图片,表示了CCCallFunc的继承关系: 1、CCCallFunc,回调,调用不带参数的函数: CCSequence::actions(CCCallFunc::actionWithTarget(this, callfunc_selector(...

jishublog 206

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

cocos2d-x——CCCallFunc家族

在我们需要在一个动作序列中的某一个动作执行结束后,调用某个函数用于执行一个任务的时候我们可以使用CCCallFunc家族函数。CCCallFunc家族函数。CCCallFunc家族函数是CCActionInstant类的子类。值得注意的是,虽然CCCallFunc家族函数是瞬时动作的子类,但是所谓的瞬时,也只是指函数调用的一瞬间,而关于函数内容怎么执行,耗用多久,则完全与瞬时没有任何联系。CCCa

u012220823的专栏 618

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Cocos2d-x之 CCCallFunC家族

CCCallFunC家族        当我们需要在一个动作序列中某一个动作执行结束之后,调用某个函数用于执行一个任务的时候,我们可以使用CCCallFunC家族函数。CCCallFunC是CCActionInstant类的子类。值得注意的是,虽然CCCallFunC家族函数是瞬时动作函数的子类,但是所谓的瞬时,也只是指函数调用的一瞬间,而关于函数内部怎么执行,耗用多久,

杜甲同学的专栏 1895

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

CCCallFunC家族 定时触发器

各种回调函数的定义: 1 typedef void (CCObject::*SEL_SCHEDULE)(float); 2 typedef void (CCObject::*SEL_CallFunc)(); 3 typedef void (CCObject::*SEL_CallFuncN)(CCNode*); 4 typedef void (CCObject::*SEL_Call

sentimental_cat的专栏 434

cocos2d-x学习笔记 动作 CCCallFunc家族(回调函数包装器)

CCCallFunc是CCActionInstant的子类,是非常重要的一个类族,就是适配器。用大白话说,就是做了一层包装,把函数包装成动作,这样你在执行动作的时候,就可以执行函数了。听起来很怪异吗?为什么不直接执行函数呢?这是因为执行条件不同。 使用CCCallFunc家族的类 CCCallFunc家族一共有四个类。这是四个类对象的静态生成函数: 1...

weixin_34138139的博客 172

cocos2d-x 2.2 study ------------------------ CCCallFunC家族

CCCallFunC家族 当我们需要在一个动作序列中某一个动作执行结束之后,调用某个函数用于执行一个任务的时候,我们可以使用CCCallFunC家族函数。CCCallFunC是CCActionInstant类的子类。值得注意的是,虽然CCCallFunC家族函数是瞬时动作函数的子类,但是所谓的瞬时,也只是指函数调用的一瞬间,而关于函数内部怎么执行,耗用多久,则完全与瞬时没有任何关系。CCCall...

weixin_33701251的博客 84

cocos2d-x——CCCallFunc家族例子

boolHelloWorld::init() {     //////////////////////////////     // 1. super init first    if ( !CCLayer::init() )     {         returnfalse;     }         CCSprite *sp = CCS

u012220823的专栏 606

cocos2d-x CCCallFunc系列函数的应用

文章出处:http://blog.youkuaiyun.com/go_to_learn/article/details/8012852 CCCallFunc家族一共有四个类。这是四个类对象的静态生成函数: CCCallFunc * CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTarget,SEL_CallFunc sele

431

(转)cocos2d-x学习笔记08:动作1:立即动作

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://4137613.blog.51cto.com/4127613/762321  cocos2d-x学习笔记08:动作1:立即动作 第一部分:动作概述 动作可以说构成了cocos2dx的精华(你看动作类有多少子类就知道了)。 动作是什么?动作可以理解为指

gxj1680的专栏 815

cocos2d-x学习笔记08:动作1:立即动作

cocos2d-x学习笔记08:动作1:立即动作 第一部分:动作概述 动作可以说构成了cocos2dx的精华(你看动作类有多少子类就知道了)。 动作是什么?动作可以理解为指令,这些指令由节点执行。 动作由节点(node)执行,该节点执行动作的时候,他的所有子节点跟着执行,这一特性是非常有用的。 执行动作的代码非常简单,先生成,然后让...

weixin_34381666的博客 93
上一篇: Cocos2d 各种动作介绍
下一篇: LUA string库详解
Infinity_D
博客等级 码龄16年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值