一种用于脚本间通信的方法、装置及系统制造方法及图纸

技术编号:26170343 阅读:18 留言:0更新日期:2020-10-31 13:37
本申请实施例提供一种用于脚本间通信的方法、装置及系统,应用于游戏开发中多个节点绑定的脚本之间的数据传递或方法调用,所述方法包括:获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;通知所述至少一个目标节点所述状态变化信息,以使与所述至少一个目标节点绑定的脚本被执行或者向所述至少一个目标节点绑定的脚本传输数据。本申请一些实施例通过获取不同节点的变化状态,并将状态变化情况通知目标节点以使目标节点执行脚本等,提升了不同节点或者不同节点上模块之间的脚本的通信方法。

A method, device and system for communication between scripts

【技术实现步骤摘要】
一种用于脚本间通信的方法、装置及系统
本申请涉及游戏开发领域,具体而言本申请实施例涉及一种用于脚本间通信的方法、装置及系统。
技术介绍
Cocos2d-x是MIT许可证下发布的一款功能强大的开源游戏引擎。允许开发人员使用C++、Javascript及Lua三种语言来进行游戏开发。支持多种常见平台,例如,iOS、Android、Windows、macOS或者Linux等。在CocosCreator中,脚本也是资源的一部分,开发者可以在资源编辑器中通过点击"创建"按钮来添加并选择JavaScript或者TypeScript来创建一份组件脚本。此时在资源编辑器中得到一份新的脚本。将脚本添加到场景节点中,实际上就是为这个节点添加一份组件,只要将刚刚创建出来的脚本选中,添加到的场景节点上,此时该脚本就和结点实现了绑定。在基于Cocos2d-x引擎的开发中,无法直接获取节点上绑定的脚本,也无法直接获取脚本里存储的数据和调用方法逻辑。因此,当不同节点的脚本或者组件之间具有通信需求时,需要首先获取要通信的两个或多个节点和绑定在两个或多个节点上的脚本名称,之后通过需要通信的两个或多个节点或者两个或多个节点上的模块之间的直接访问实现脚本直间的通信。
技术实现思路
本申请实施例的目的在于提供一种用于脚本间通信的方法、装置及系统,通过本申请的一些实施例可以实现第一节点或者位于第一节点上的第一模块(或者称为第一脚本、第一组件等)向多个节点或者多个节点上的各模块共用的状态变化记录模块(即下文的汇聚模块)发出通信请求、状态变化记录模块再通知目标节点或者位于目标节点上的第二模块(或者称为第二脚本、第二组件等)完成请求,这样可以减少多个模块或者节点之间脚本通信的链路数据量。第一方面,本申请实施例提供一种用于脚本间通信的方法,应用于游戏开发中多个节点绑定的脚本之间的数据传递或方法调用,所述方法包括:获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;通知所述至少一个目标节点所述状态变化信息,以使与所述至少一个目标节点绑定的脚本被执行或者向所述至少一个目标节点绑定的脚本传输数据。本申请一些实施例通过获取不同节点的变化状态,并将状态变化情况通知目标节点以使目标节点执行脚本等,提升了不同节点或者不同节点上模块之间的脚本的通信方法。在一些实施例中,所述获取第一节点的状态变化信息之前,所述方法还包括:获取所述多个节点中各节点的所述注册信息,其中,所述注册信息包括:所述多个节点中各节点的属性信息以及所述多个节点中各节点的至少一个目标节点,所述属性信息用于表征所述多个节点中各节点的状态。本申请的一些实施例通过获取所有节点的注册信息来维护所有节点的属性信息,并在节点状态变化时更新注册的属性信息,可以方便获取各个节点各时刻的状态信息,以方便所有节点中各节点通过直接读取其余相关节点的状态变化信息即可知需要对脚本执行的操作。在一些实施例中,所述至少一个目标节点通过监听获取与自身相关的节点的属性信息。本申请的一些实施例的目标节点通过监听获取与这个节点相关的属性信息是否发生变化,并在变化时由目标节点的相关脚本执行相应操作或者向相关脚本传输数据,提升了节点之间脚本的通信方法。具体地说是目标节点绑定的各脚本文件通过监听获取其他节点相关脚本的状态变化信息。在一些实施例中,所述脚本包括利用Javascript语言编写的代码文件,其中,所述代码文件用于控制游戏逻辑、存储游戏数据或者进行接口交互。本申请的一些实施例可以采用Javascript语言编写的脚本文件,可以使得脚本文件跨平台被执行。第二方面,本申请实施例提供一种用于脚本间的通信的方法,应用于游戏开发中绑定脚本的一个节点中,所述方法包括:确认本节点的属性信息发生变化;提供与所述变化对应的状态变化信息,以使所述本节点的目标节点绑定的脚本被执行或者向所述脚本传输数据。在一些实施例中,所述第二方面的方法还包括:通过监听获取以所述本节点为目标节点的各节点的状态变化信息,以使与所述本节点绑定的脚本被执行或者向所述本节点绑定的脚本传输数据。第三方面,本申请实施例提供一种用于脚本间通信的装置,应用于游戏开发中多个节点之间脚本的数据传递和方法调用,所述装置包括:获取模块,被配置为获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;提供模块,被配置为通知所述至少一个目标节点所述状态变化信息,以使与所述至少一个目标节点绑定的脚本被执行或者向所述至少一个目标节点绑定的脚本传输数据。第四方面,本申请实施例提供一种用于脚本件的通信的装置,应用于游戏开发中绑定脚本的一个节点中,所述装置包括:确认模块,被配置为确认本节点的属性信息发生变化;发送模块,被配置为提供与所述变化对应的状态变化信息,以使所述本节点的目标节点绑定的脚本被执行或者向所述脚本传输数据。在一些实施例中,所述第四方面的装置还包括:监听模块,被配置为通过监听获取以所述本节点为目标节点的各节点的状态变化信息,以使与所述本节点绑定的脚本被执行或者向所述本节点绑定的脚本传输数据。第五方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现上述第一方面或者第二方面所述的方法。第六方面,本申请实施例提供一种信息处理设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现上述第一方面或者第二方面所述的方法。第七方面,本申请实施例提供一种脚本间通信的系统,应用于游戏开发引擎中,所述系统包括:多个绑定脚本的节点,其中,所述脚本使得所述节点具备预定功能或者属性;汇聚模块,被配置为与多个节点中各节点直接通信以获取所述各节点的属性信息,并向所述多个节点中各节点的目标节点发送状态变化信息,其中,所述状态变化信息通过更新所述属性信息得到的。在一些实施例中,所述脚本被封装为包括状态获取功能和监听功能的目标脚本,其中,所述状态获取功能是通过状态获取子模块实现的,所述状态获取子模块被配置为从所述汇聚模块获取各节点的状态变化信息,所述监听功能是通过当以本节点作为目标节点的其余节点在所述汇聚模块中的状态变化时调用监听方法监听实现的。在一些实施例中,所述脚本还被封装为具有管理功能的所述目标脚本,其中,所述管理功能是用于对所述状态获取子模块进行更新和管理的。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为示例性游戏场景的示意图;图2为本申请实施例提供的用于脚本间通信的系统组成示意图;<本文档来自技高网...

【技术保护点】
1.一种用于脚本间通信的方法,应用于游戏开发中多个节点绑定的脚本之间的数据传递或方法调用,其特征在于,所述方法包括:/n获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;/n通知所述至少一个目标节点所述状态变化信息,以使与所述至少一个目标节点绑定的脚本被执行或者向所述至少一个目标节点绑定的脚本传输数据。/n

【技术特征摘要】
1.一种用于脚本间通信的方法,应用于游戏开发中多个节点绑定的脚本之间的数据传递或方法调用,其特征在于,所述方法包括:
获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;
通知所述至少一个目标节点所述状态变化信息,以使与所述至少一个目标节点绑定的脚本被执行或者向所述至少一个目标节点绑定的脚本传输数据。


2.如权利要求1所述的方法,其特征在于,所述获取第一节点的状态变化信息之前,所述方法还包括:
获取所述多个节点中各节点的注册信息,其中,所述注册信息包括:所述多个节点中各节点的属性信息以及所述多个节点中各节点的至少一个目标节点,所述属性信息用于表征所述多个节点中各节点的状态。


3.如权利要求2所述的方法,其特征在于,所述至少一个目标节点通过监听获取与自身相关的节点的属性信息。


4.如权利要求1所述的方法,其特征在于,所述脚本包括利用Javascript语言编写的代码文件,其中,所述代码文件用于控制游戏逻辑、存储游戏数据或者进行接口交互。


5.一种用于脚本间的通信的方法,应用于游戏开发中绑定脚本的一个节点中,其特征在于,所述方法包括:
确认本节点的属性信息发生变化;
提供与所述变化对应的状态变化信息,以使所述本节点的目标节点绑定的脚本被执行或者向所述脚本传输数据。


6.如权利要求5所述的方法,其特征在于,所述方法还包括:通过监听获取以所述本节点为目标节点的各节点的状态变化信息,以使与所述本节点绑定的脚本被执行或者向所述本节点绑定的脚本传输数据。


7.一种用于脚本间通信的装置,应用于游戏开发中多个节点绑定的脚本之间的数据传递和方法调用,其特征在于,所述装置包括:
获取模块,被配置为获取第一节点的状态变化信息,其中,所述状态变化信息用于表征所述第一节点和所述第一节点的至少一个目标节点之间的脚本存在通信需求;
提供模块,被配置为通知所述至少一个目标节点所述状态变化信息,以使与所...

【专利技术属性】
技术研发人员:李金彪霍鸽张龙江
申请(专利权)人:北京乐学帮网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1