cocos2d-x是如何实现跨平台的
cocos2d-x之所以可以跨平台开发,是因为cocos2d-x的核心是通过调用openglEx的api来实现的,所以理论上只要平台支持openglEx,就可以用cocos2d-x来开发游戏。
我们用的第一款游戏cocos2d-x其实是没有用-x的跨平台开发的,基本上我们是在维护两个代码。当然,结果大家都可以想象。因为,我不仅是cocos2d-x的新手,也是oc和c++的新手,所以我在思考一个问题,为什么我们要维护两个代码(。cpp和。mm),而-x只用一段代码就能搞定?带着这个问题,我研究了-x的声音引擎,也就是SimpleAudioEngine这个类。结果我发现了原理,就是以下两点:
1.使用平台宏定义以不同的方式加载头文件。
2.使用实现c++和oc的兼容性。原币mm文件
以上两点可以帮助我们实现真正的跨平台开发,一个代码可以同时解决两个平台的功能。当然,因为涉及到一些原生调用,所以没有办法在一段代码中完全实现所有功能,比如IOS的推送功能。所以以上两点可以帮助我们解决这样一个问题。
实施原则:
app-& gt;调用公共接口-& gt;呼叫平台实施
公共接口是一个未实现的接口定义文件,即一个简单的。h文件。通过实现接口,可以实现平台调用。转载仅供参考,版权归原作者所有。祝你有愉快的一天。满意请采纳。