随笔分类 -  C++

摘要:环境: cocos3.10 Xcode UI元素的渲染流程图示: 1. 从main进入到Application:run中,该方法下有个while循环,用于处理设定的每帧(FPS)刷新相关 {// ... glview->retain(); while (!glview->windowShouldCl 阅读全文
posted @ 2020-03-26 20:41 Code~ 阅读(2682) 评论(1) 推荐(1)
摘要:环境: cocos2d-x 3.10 Xcode 单例模式 用于保证一个类仅有一个实例,具有全局变量的特点(即在任何位置可通过接口获取唯一实例)。对于频繁的创建或销毁的实例,使用该模式有助于减少内存开销。示例: // .h class Singleton: { public: static Sing 阅读全文
posted @ 2020-03-24 23:27 Code~ 阅读(548) 评论(0) 推荐(0)
摘要:环境: cocos 3.10 Xcode Lua Application 在游戏启动中,程序会通过main进入到Application::run()中。对于Application而言,每个游戏都会对应一个Application对象。 它的职责是管理游戏生命周期,并设置默认窗口,获取平台及本地化信息等 阅读全文
posted @ 2020-03-22 23:33 Code~ 阅读(708) 评论(0) 推荐(0)
摘要:环境: cocos 3.10 Xcode C++ 内存管理简介 分配方式: 1. 静态分配,内存在编译的时候就已经分配好,该内存在程序运行期间都存在。比如:全局变量,static静态变量等。 2. 栈分配,在函数内部的局部变量上,函数执行结束后自动释放。效率高,但分配容量有限。 3. 堆分配,又称动 阅读全文
posted @ 2020-03-22 21:56 Code~ 阅读(641) 评论(0) 推荐(0)
摘要:环境: cocos3.10 Lua5.1.4 Visual Studio 2013 简介 Lua作为一种脚本语言(https://www.lua.org/),它提供了很多的 C API使得C/C++与Lua之间进行通信交互。 在cocos2d-x中lua与C++的交互,主要借助于第三方工具tolua 阅读全文
posted @ 2019-11-28 22:04 Code~ 阅读(1776) 评论(0) 推荐(0)
摘要:参考: https://blog.csdn.net/u010912122/article/details/19341565 原理: 通过JNI获取java虚拟机,再获取当前程序的JNI环境,通过JNI环境获取需要调用的java类信息,再获取需要调用的java类中的函数信息。再通过JNI环境调用,使用 阅读全文
posted @ 2019-11-21 18:44 Code~ 阅读(669) 评论(0) 推荐(0)
摘要:在编写lua中,关于error:syntax error during pre-compliation,似乎是家常便饭,能否有一个更为详细的定位来指正错误。答案是可以的。 首先,我们可以根据提示在LuaStack::luaLoadBuffer(...)中,你会发现相关的代码实现,其主要代码如下: / 阅读全文
posted @ 2016-04-29 15:48 Code~ 阅读(4434) 评论(0) 推荐(1)
摘要:在cocos-lua使用ccb动画播放攻击完成以后,加点绚丽的特效,需要使用C++中setAnimationCompletedCallback方法,很无奈没有发现C++与lua的相互调用,只能补充添加了。 首先我们要做的是找到关于CCBAnimationManager中的lua与C++的注册接口,即 阅读全文
posted @ 2016-04-10 13:35 Code~ 阅读(1405) 评论(0) 推荐(0)
摘要:在使用SVN更新代码后,再次打开vs2010时,编译程序出现问题:fatal error LNK1123:转换COFF期间失败:文件无效或损坏最后参考网上资料其解决方法是:菜单栏选择 “项目” -> 属性 -> 配置属性 ->清单工具 ->输入输出,将“嵌入清单”修改为“否”即可。如图所示:再次编译... 阅读全文
posted @ 2015-10-22 17:36 Code~ 阅读(240) 评论(0) 推荐(0)
摘要:在C中可以使用#define提高执行效率,但是容易出错,而在C++ 支持函数内联,其目的亦是如此。(1)inline的工作原理: 对于任何内联函数,编译器在符号表里放入函数声明(包括名字,参数类型,返回值类型)。如果编译器没有发现内联函数存在错误,那么该函数的代码也被放入符号表中。在调用一个内... 阅读全文
posted @ 2015-06-14 15:32 Code~ 阅读(591) 评论(0) 推荐(0)
摘要:发生内存错误时,这真的是一件很让人头疼的事情。编译器无法发现这些错误,只能从代码中一点点的去查询,然后纠正,所以记录下一些常识算是温故而知新吧。1. 内存管理的分配方式:(1)静态存储区分配,它在程序编译的时候已经分配好,在程序的运行期间都存在。比如全局变量,static变量等。(2)在栈中创建... 阅读全文
posted @ 2015-06-14 00:39 Code~ 阅读(344) 评论(0) 推荐(0)
摘要:在C中函数参数的传递方式有两种,值传递和指针传递,而C++添加了一种:引用传递。下面的例子可作为参考: (1)值传递 void func1(int x) { x = x + 10; } ... int n = 0; func1(n); std::cout << n << std... 阅读全文
posted @ 2015-06-13 12:35 Code~ 阅读(255) 评论(0) 推荐(0)
摘要:常量,相信大家并不陌生,它是一种标识符,其值在运行中恒定不变。在C中通常会使用#define来定义常量,通常被称为宏常量。而C++除了#define外,还可以使用const来定义。比如:#define MAX 100 // c语言上的宏常量const int MIN = 10; // ... 阅读全文
posted @ 2015-06-13 00:34 Code~ 阅读(638) 评论(0) 推荐(0)
摘要:一,介绍 .csv文件俗称逗号分割值文件,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。该文件由任意数目的记录组成,记录间以某种换行符隔开,比如'\n'。每条记录由字段组成,字段见的分隔符最常见的为逗号或制表符组成。 比如***.csv文... 阅读全文
posted @ 2015-05-26 20:22 Code~ 阅读(1015) 评论(0) 推荐(0)
摘要:(一) 在Debug模式下,编译程序时,出现这样的错误:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。解决方式:选择出错的.cpp文件,打开其属性,选择 c/c++ ->预编译头 -> 创建/使用预编译头 将“使用预编译头(/Yu)” 修改为 “不使用预编译头” 即可。... 阅读全文
posted @ 2015-05-26 17:06 Code~ 阅读(472) 评论(0) 推荐(0)
摘要:使用vector,要添加其头文件#include。 1.vector的初始化及赋值,比如: std::vector nVec; // 空对象 std::vector nVec(5,-1); // 创建了一个包含5个元素且值为-1的vector std::vector strVe... 阅读全文
posted @ 2015-05-20 20:21 Code~ 阅读(12328) 评论(0) 推荐(0)
摘要:CEGUI(Crazy Eddie's GUI http:// www.cegui.org.uk )是一个自由免费的GUI库,基于LGPL协议,使用C++实现,完全面向对象设计。 CEGUI的渲染需要3D图形API的支持,如OpenGL或Direct3D。另外,使用更高级的图形库也是可以的,比如Og 阅读全文
posted @ 2015-03-29 23:40 Code~
摘要:从习惯上来说,一般对于bmp等图片资源的读取,会采用两种方式: 一,使用loadImage来读取资源,其代码原型为: HANDLE LoadImage(NINSTANCE hinst, //处理包含被装载图像模块的实例 LPCTSTR lpszName, //处理图像装载 UINT uType, / 阅读全文
posted @ 2015-03-29 23:39 Code~ 阅读(981) 评论(0) 推荐(0)