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
之后就能正确交叉编译了。
macOS 10.14之后不支持交叉编译32位程序。退求其次,虚拟机装ubunut来解决问题。
ubunut 64系统,默认不带32相关头文件和库,需要
sudo apt-get install libc6-dev-i386
sudo apt-get install linux-libc-dev:i386
之后就能正确交叉编译了。
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat
msvcbuild.bat
D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
msvcbuild.bat gc64
需要用到 https://github.com/leetal/ios-cmake
修改common/almalloc.cpp ,屏蔽下面的代码
//#define ALIGNED_ALLOC_AVAILABLE (__STDC_VERSION__ >= 201112L || __cplusplus >= 201703L)
aligned_alloc 在ios13支持,早期的iOS会crash
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 不能直接访问下标,否则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;
}
动态修改场景的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();
}
},
非常蛋痛,必须请求带域名的http才能触发,直接ip地址不一定触发。
需要无脑请求一次带域名的网络。
local request = network.createHTTPRequest(function(event)
end, "http://cocos2d-lua.org", "GET")
request:start()