cocos2d-x
klyhssrs
这个作者很懒,什么都没留下…
展开
-
cocos2d-x 3.7.1 lua 笔记
display.newSprite(“#xxx.png”) 带#号表示从framecache里面取图,不带则从本地文件读取。为layer添加触摸事件local touchLayer = display.newLayer()touchLayer:onTouch(handler(self, self.onTouch))事件处理,移除事件function xxx:onTouc原创 2015-08-26 11:08:40 · 436 阅读 · 0 评论 -
cocos2dx lua向c++传字符串问题
版本 cocos2dx 3.13之前写过一篇c++向lua传字符串的问题 http://blog.csdn.net/klyhssrs/article/details/52684784 现在发现反过来也有同样的问题,自动生成的lua接口代码中使用的是luaval_to_std_string函数从lua中取传过来的字符串参数,不支持含0的字符串,字符串含0时将被截断。修复方法://原创 2017-04-21 11:43:30 · 1669 阅读 · 2 评论 -
Visual Studio 2013 c++工程链接速度变慢的问题
升级引擎版本后突然链接速度变慢了,每次都需要1到3分钟,困惑几个月后终于找到原因。就是这个选项导致的:Project -- Properties -- Linker -- All Options -- Profile -- Yes->No选项解释:Produces an output file that can be used with the Performance Tools prof原创 2017-01-24 18:03:01 · 1211 阅读 · 0 评论 -
关于cocos2d::Scheduler的调用重复次数问题
用schedule函数设置了一个间隔0.1秒不限重复次数的定时任务,在定时任务回调函数中加载图片资源,每次加载一个,直到完成时立即调用unschedule移除定时任务。当图片文件很小的时候没有任何问题,但是加载大图时,在调用了unschedule之后这个定时任务仍然被执行了一次,通过研究引擎源码终于发现了问题所在。void Timer::update(float dt){ ...原创 2016-12-08 11:14:27 · 1563 阅读 · 0 评论 -
cocos2dx中c++向lua传string的问题
cocos2dx 3.13自动生成的lua接口代码传string到lua时不支持含0的字符串。修复方法:int lua_myproj_CustomLuaEvent_getStrData(lua_State* tolua_S){ int argc = 0; CustomLuaEvent* cobj = nullptr; bool ok = true;#if C原创 2016-09-27 21:22:34 · 2055 阅读 · 0 评论 -
关于cocos2d: SpriteFrameCache: removing unused frame与内存警告,程序崩溃
version cocos2dx-3.7.1使用SpriteFrame预加载合成的大图,如果没有马上使用,当收到ios的内存警告时就会被移除,后面再获取里面的图片时就会取不到,导致程序崩溃。解决方案为加载大图后,把里面的小图都加到自己定义的一个容器里,使其引用计数加一,避免被移除。添加到自定义容器代码void ResourceManager::addSpriteFramesWithFi原创 2016-08-19 12:38:29 · 2898 阅读 · 0 评论 -
在c++的struct中使用类成员导致android下崩溃-SIGSEGV
在struct中定义了std::string类型的成员,在win和ios下访问都没有问题,在android下执行到str.assign(buf, len)时发生段错误。最后,把struct改为class后正常了。原创 2016-06-01 18:56:28 · 344 阅读 · 0 评论 -
利用ndk-gdb调试时,检测到的app_abi为armeabi
利用ndk-gdb调试时,检测到的app_abi为armeabi,但是我编译的时候用的命令行参数是armeabi-v7a。解决方法:在application.mk中添加app_abi配置。因为ndk-gdb是从这个文件里读取配置的。原创 2016-06-01 11:01:14 · 450 阅读 · 0 评论 -
VS2013 Error LNK2019 about extern C
在cpp中引用c函数,在头文件中添加extern "C",会报错LNK2019,去掉后反而正常。原因是工程配置project-properties-Configuration Properties-C/C++-Advanced-Compile As设为了Compile As C++ Code原创 2016-03-14 17:59:30 · 475 阅读 · 0 评论 -
批量检测文件字符编码集并转换编码的python脚本
为了将vs项目下的文件都从gbk转到utf8,保证在xcode下正常,自己写了这个脚本import osimport os.pathimport chardetrootdir = "D:\\pj\\hgu\\frameworks\\runtime-src\\Classes"#rootdir = "D:\\tmp2\\Classes"print "rootdir=" + rootdi原创 2016-02-04 18:44:35 · 684 阅读 · 0 评论 -
cocos2dx 3.x中利用RenderTexture检测触摸点的alpha透明度的值
cocos2dx 3.x中利用RenderTexture检测触摸点的alpha透明度的值,可用于不规则图形的触控判断。折腾了一两天,终于搞定,搜到的文章都没有详细解释,下面给出详细的代码和注释。HelloWorldScene.h#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "c原创 2016-01-21 16:53:47 · 1839 阅读 · 0 评论 -
32位正常,64位随机崩溃问题
项目在iPhone 5,4s模拟器上运行完全正常。而在5s,6模拟器上经常会随机崩溃,偶尔正常,崩溃的位置一般在固定的几处,比如hashtable find函数。5s以上是64位cpu。通过排除法找到了项目中用到的一个第三方写的加密类,里面把一个4字节类型定义成了long,而long在64位下是8个字节,导致堆溢出了,覆盖了后面的其他数据。原创 2015-10-27 12:03:01 · 987 阅读 · 0 评论 -
xcode下中文注释在vs下编译出错
xcode版本 6.3 vs版本 2013xcode下中文注释在vs下编译出错,但是又找不到具体的语法错误。有三种解决办法1.将换行方式转换为windows方式,CR+LF2.将文件编码由UTF-8不带BOM标记转为带BOM标记的格式3.在中文注释末尾加一个 除号/,如 //中文注释/原创 2015-10-27 11:52:43 · 718 阅读 · 0 评论 -
cocos2d-x 图片平移缩放组件
最近需要实现游戏地图的平移缩放功能,想到这是一个常用的功能,应该有现成的组件,可是到处找也没找到合适完美的实现,干脆自己写一个,经过一些测试没有问题,共享出来,有什么问题欢迎大家提出来继续完善。基于cocos2d-x 3.7.1,ide为vs2013。使用方法:PanZoomController panzoom;panzoom.start(your node or layer or原创 2015-09-06 10:23:55 · 1338 阅读 · 0 评论 -
C++标准库走向统一
上期碰到的问题就是与STL在不同平台行为不一致有关,现在终于要走向统一了。苹果在XCode10和iOS12中移除了libstdc++这个库,由libc++这个库取而代之,苹果的解释是libstdc++已经标记为废弃有5年了,建议大家使用经过了llvm优化过并且全面支持C++11的libc++库。libc++,从Lollipop开始的官方安卓系统和现代Mac操作系统都将其作为C++标...转载 2018-12-27 11:54:15 · 208 阅读 · 0 评论