文章 2024-06-20 来自:开发者社区

cocos2d-x C++ 工程初探

经过较为繁琐的环境搭建后,我们终于运行出了一个helloworld窗口,可以正式上手cocos了 现在我们就从改代码开始玩起 窗口 我们之前讲到AppDelegate类是程序的入口,所以和窗口有关的设置也在这个类里,打开我们的AppDelegate.cpp,从AppDelegate::applicationDidFinishLaunching这个成员函数看起 函数...

文章 2017-11-16 来自:开发者社区

【cocos2d-x从c++到js】08:JS脚本语言的优势与一些问题

优势: 1.不需声明,甚至匿名方式原地定义。编码量少。 这一条在C++中尤其明显,以绑定一个回调为例,需要声明,定义,调用绑定,三处代码。虽然C++11中支持lambda表达式,对于回调的写法有很大改进。但是其他地方依然蛋疼。 2.弱类型语言,一般情况下,不需关心实际类型。Debug时除外。 在使用C++这种强类型语言的开发中,尤其是写功能代码时,类型检查远不如想象中那么有用,很多时候反而是问.....

文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】01:迎接脚本时代的到来

随着移动领域进入的游戏公司越来越多,开发成本一路上涨。以C++为代表的老一代开发语言,将直面lua,js等脚本语言的冲击。 最近一年多来,移动端在做脚本化开发方案的公司越来越多。cocos2d开源社区很早就提出了用js打通各个分支版本的设想,底层执行方式是各个分支引擎的(-x,-iphone,html5),上层统一使用js,使得项目可以很方便的在各个引擎之间互换。 从游戏开发来看,c++和js各....

文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】15:傀儡构造函数

上篇我们以Sprite为例,分析了注册函数。但其中我们似乎遗漏了一个地方,那就是构造函数。因为Cocos2d-x在C++层使用的是工场函数来生成对象,而不是构造函数。所以在JS层代码中,也需要有相应的对应机制来处理这件事。 看一下jsb_cocos2dx_auto.hpp 1 2 3 4 5 6 extern JSClass  *jsb_cocos2d_Sprite_class...

文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】16:使用cocos2d-console工具转换脚本为字节码

从Cocos2D-X v2.1.4版本开始,增加了Cocos2D-console命令行工具,该工具的其中一个功能是:把.js文件转换为.jsc文件,该文件是字节码格式,可以提高代码的安全性。 使用这个工具的方式很简单。以引擎自带的TestJavaScript项目为例: 首先我们cd到Cocos2D-console的目录 1 goldliontekiMacBook-Pro:~ ...

文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】19:CoffeeScript开发环境搭建续

上篇说了,简单的Coffee环境搭建,没说如何和Cocos2d-x jsb整合。 一般整合需要干两件事,一个是Cocos2d-x jsb的API自动补全提示,一个是Coffee代码的编译和输出。 一、实现Cocos2d-x jsb的API自动补全 老办法,还是使用Cocos2d-html5的库来设置WebStorm。Preferences->JavaScript-> Libra...

【cocos2d-x从c++到js】19:CoffeeScript开发环境搭建续
文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】21:使用CocosCode调试JSB

之前JSB调试的方式,很多公司都是用Html5来做的,或者直接打log。这几者的优劣性,我们在第17篇中分析过。 3.15大会放出了Cocos的官方IDE——CocosCode。这个IDE使用eclipse定制,使用了V8的调试插件,可以用来调试JSB。 CocosCode(Mac版)下载地址: http://cocostudio.download.appget.cn/cocos-code-...

【cocos2d-x从c++到js】21:使用CocosCode调试JSB
文章 2017-11-15 来自:开发者社区

【cocos2d-x从c++到js】22:使用非侵入方式扩展UI系统接口的举例

如何较好的运用脚本语言,使用他的动态性是关键。使用动态性来扩展代码,可以保证非侵入方式。这种方式,把原先的引擎代码和当前自己的二次开发代码隔离开了,便于后续的升级维护。而且,又不像继承那么重量级。 下面就如何用动态添加的扩展方式,使用非侵入来完善和增强CocoStudio的UI功能,做一举例: 零、入口函数 一开始,我们需要加载ui到游戏中,然后我们访问这个ui,在上面执行一系列操作,把结...

文章 2017-11-14 来自:开发者社区

【cocos2d-x从c++到js】11:JS与C++的交互3——C++和JS类型转换

在SpiderMonkey执行时,经常要把JS中的数据类型转换成C++类型,比如int,unit,string,各种容器等等。转换之后,才能够给对应的C++函数传递参数,来完成对应的C++函数的调用。反过来也是一样,C++的数据类型要返回到JS里面,这样JS层的代码才能继续跑,也需要把C++类型转换为JS类型。 这些“基本数据类型”的转换,是通过预先编写的代码来完成的,cxx-generato.....

文章 2017-11-14 来自:开发者社区

【cocos2d-x从c++到js】14:注册函数

前面的文章中讲过,在游戏启动时,会调用大量的addRegisterCallback函数,向SpiderMonkey注册Cocos2d-x引擎的函数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ScriptingCore* sc = ScriptingCore::getInstance(); sc->addRegisterCall...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注