ubuntu 64系统编译32位程序
macOS 10.14之后不支持交叉编译32位程序。退求其次,虚拟机装ubunut来解决问题。
ubunut 64系统,默认不带32相关头文件和库,需要
sudo apt-get install libc6-dev-i386
sudo apt-get install linux-libc-dev:i386
之后就能正确交叉编译了。
visual studio 2019 命令编译
32位 luajit
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat
msvcbuild.bat
64位 luajit
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
msvcbuild.bat gc64
Quick-Cocos2dx-Community v3.7.8 Beta
视频讲解
新开通B站视频讲解,传送门:Quick-Cocos2dx-Community 3.7.8 改动说明
新增
- 重构TMXXMLParser、TMXMap与TMXLayer,实现对TiledMap 1.2以上新功能的支持。
- 添加GrayScale着色器,Lua层可使用。
OpenAL编译iOS和Mac库
需要用到 https://github.com/leetal/ios-cmake
源码修正
修改common/almalloc.cpp ,屏蔽下面的代码
//#define ALIGNED_ALLOC_AVAILABLE (__STDC_VERSION__ >= 201112L || __cplusplus >= 201703L)
aligned_alloc 在ios13支持,早期的iOS会crash
cocos creator 获取spine的boundingBox附件信息
let attachment = this.goblin.getAttachment('head-bb', "head")
let slot = this.goblin.findSlot("head-bb")
let arr = {}
let data = attachment.computeWorldVertices(slot, 0, attachment.worldVerticesLength, arr, 0, 2)
cc.log(arr)
std::map 注意事项
std::map 不能直接访问下标,否则size会自动变大。这坑和js如出一辙。
查询需用find,删除需用erase
auto it = _tilesAniData.find(z);
if (it != _tilesAniData.end()) { // remove old data
delete it->second;
_tilesAniData.erase(z);
}
遍历
for(auto it = _tilesAniData.begin(); it != _tilesAniData.end(); ++it) {
delete it->second;
}
TiledMap旋转与翻转
选中图块,
键盘x键进行x轴翻转,
键盘y键进行y轴翻转,
键盘z键进行旋转(每次90度)
可以看到鼠标上的图块发生了改变,刷到地图上即可.
cocos creator wap模式下横竖屏动态适应
动态修改场景的canvas属性设置,需要两套布局节点坐标信息
start() {
this.updateCanvasSize();
cc.view.setResizeCallback(() => {
this.updateCanvasSize();
})
},
// 自由切换横竖屏,动态设置设计分辨率和适配模式。
updateCanvasSize() {
let size = cc.view.getFrameSize();
if (size.width > size.height) {
this.canvas.fitWidth = false;
this.canvas.fitHeight = true;
this.canvas.designResolution = cc.size(1920, 1080);
this.showLandscape();
} else {
this.canvas.fitWidth = true;
this.canvas.fitHeight = false;
this.canvas.designResolution = cc.size(1080, 1920);
this.showPortait();
}
},
Quick-Cocos2dx-Community 3.7.7 Beta
新增
- FastTMXLayer 支持设置透明度和颜色。
- WebView同步最新实现,新增cleanCachedData,setOpacityWebView,setBackgroundTransparent方法。
- Android增加对虚拟按键隐藏的支持。
- audio添加playBGMSync,playEffectSync接口,但依然推荐在loading场景先预加载所有音频。
- cc.FileUtils新增绑定getFileDataFromZip和unzipFile
- Luasocket添加socket.dns.isIpv6()接口,以异步方式判断网络类型,同步优化SimpleTCP,解决可能柱塞UI的问题。
- display中新加FIXED_AUTO分辨率适配模式,自动选择 FIXED_WIDTH 或 FIXED_HEIGHT。