【技术实现步骤摘要】
跨平台游戏引擎多线程通信方法、装置、存储介质及设备
本专利技术涉及游戏引擎开发领域,特别是涉及跨平台游戏引擎多线程通信方法、装置、存储介质及电子设备。
技术介绍
一个游戏至少有一个线程,它负责用户界面的刷新交互,同时还会伴随着一系列的其他线程作为辅助(比如:联网、运算、处理用户输入事件的等)。负责用户界面的线程,我们称之为UI线程,也叫主线程。可是,手机系统对于跑在自身平台上的游戏,事先都已经初始化好了各自的主线程,而且对于主线程的交互方式并不相同,如:IOS平台采用ObjectC语言封装的NSRunLoop,Androd平台采用java语言封装的Handler,Windows平台提供WindowsAPI进行进程创建与通信。随着智能手机的逐渐普及,手机游戏已经成为人们一项重要的娱乐方式,而手机游戏的开发,不可或缺的需要用到游戏开发引擎,其中需要解决的一个重要问题就是:多线程以及不同线程之间的通信。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供跨平台游戏引擎多线程通信方法、装置、存储介质及电子设备,用于解决现有技术中的上述问题。为实现上述目的及其他 ...
【技术保护点】
一种跨平台游戏引擎的多线程通信方法,其特征在于,包括:为游戏引擎建立能兼容多种终端系统的用于提供抽象类的抽象方法;将所述抽象方法与各所述终端系统的各线程的相关方法对接,并提供统一的接口供游戏使用。
【技术特征摘要】
1.一种跨平台游戏引擎的多线程通信方法,其特征在于,包括:为游戏引擎建立能兼容多种终端系统的用于提供抽象类的抽象方法;将所述抽象方法与各所述终端系统的各线程的相关方法对接,并提供统一的接口供游戏使用。2.根据权利要求1所述的方法,其特征在于,所述抽象方法基于IOS系统的RunLoop机制,定义的抽象类包括:任务对象、及线程对象,其中,所述任务对象表示程序中要执行的一个任务,其所包含的信息包括:所述任务的执行情况、及所述任务实际要做的方法;所述线程对象表示一个线程,其所述提供的功能包括:创建新线程、为指定线程添加任务对象、管理自身线程内部的任务对象、及结束自身。3.根据权利要求2所述的方法,其特征在于,所述任务的执行情况包括:执行时间、和/或是否反复执行。4.根据权利要求2所述的方法,其特征在于,所述终端系统包括:Android系统,将所述抽象方法与所述Android系统的各线程的相关方法对接的步骤包括:分别在Java层、c++层各实现一个类;其中,所述在Java层实现的类,包括的内容有:封装的一些用于提供Java层与c++层之间的交互的JNI方法、及与创建的新线程对象绑定的Handler,所述Handler在所述Android系统中用于管理线程和处理c++层传递过来的任务;所述在c++层实现的类,包括的内容有:通过调用所述JNI方法,管理所述在Java层实现的类,从而完成所述Java层和所述c++层的交互,以及提供所述c++层的任务对象和线程对象的抽象方法。5.根据权利要求4所述的...
【专利技术属性】
技术研发人员:洪庆,俞思敏,
申请(专利权)人:上海雪鲤鱼计算机科技有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。