ubunut 64系统编译32位程序

macOS 10.14之后不支持交叉编译32位程序。退求其次,虚拟机装ubunut来解决问题。
ubunut 64系统,默认不带32相关头文件和库,需要

sudo apt-get install libc6-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

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。

阅读全文»