教你web端横屏改为逆时针旋转90度

有问题 , 就是用苹果手机打开可旋转屏幕 , 然后不会重新进行适配

话说官方就不能出个 逆时针旋转90度吗?

大佬 没作用啊

在执行cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);之前重新设置_initFrameSize 就可以吗,好像没效果

mark

我也出现那个按钮点击都不准了

请问下 你解决了吗 我也有这个问题 麻烦能回复下不

海外公司招聘 CO-COS CREATOR,
初级 ,薪资范围 18-25K
高级, 薪资范围 26–50K
联系微信 rubyleying000000

mark

向前进,我的游戏是1280X720,在手机上面,坐标不对,点击不了
var initFrameSize = cc.view._initFrameSize;
cc.view._initFrameSize = function () {
initFrameSize.apply(cc.view, arguments);

if (cc.view._isRotated && !cc.sys.isNative) {
    cc.container.style['-webkit-transform'] = 'rotate(-90deg)';
    cc.container.style.transform = 'rotate(-90deg)';
    setTimeout(function () {
        cc.container.style['margin'] = cc.view._frameSize.width + 'px 0px 0px';
    });
    cc.view.convertToLocationInView = function (tx, ty, relatedPos) {
        var x = this._devicePixelRatio * (tx - relatedPos.left);
        var y = this._devicePixelRatio * (relatedPos.top + relatedPos.height - ty);

//手机上面
return this._isRotated ? { x: y, y:720 - x } : { x: x, y: y };
};
} else if (!cc.view._isRotated && !cc.sys.isNative) {
cc.view.convertToLocationInView = function (tx, ty, relatedPos) {
var x = this._devicePixelRatio * (tx - relatedPos.left);
var y = this._devicePixelRatio * (relatedPos.top + relatedPos.height - ty);
return this._isRotated ? { x: this._viewPortRect.width - y, y: x } : { x: x, y: y };
};
}
};

这是很久以前版本的代码了,可能并不能正常运行了

你好,我加了这串代码之后,确实翻转过来了。但是触摸无效了
2.4.4

mark~,万一代码更新了呢(你的代码很不错,但是下一秒它是我的了.jpg)

感谢分享! 我用这个代码确实能解决平板旋转的问题。
// 横屏模式修改为逆时针旋转90度
var initFrameSize = cc.view._initFrameSize;
cc.view._initFrameSize = function () {
initFrameSize.apply(cc.view, arguments);

        if (cc.view._isRotated && !cc.sys.isNative) {
            cc.container.style['-webkit-transform'] = 'rotate(-90deg)';
            cc.container.style.transform = 'rotate(-90deg)';
            setTimeout(function () {
                cc.container.style['margin'] = cc.view._frameSize.width + 'px 0px 0px';
            });
            cc.view.convertToLocationInView = function (tx, ty, relatedPos) {
                var x = this._devicePixelRatio * (tx - relatedPos.left);
                var y = this._devicePixelRatio * (relatedPos.top + relatedPos.height - ty);
                return this._isRotated ? { x:  y  , y: cc.view._viewPortRect.height - x } : { x: x, y: y };
            };
        } else if (!cc.view._isRotated && !cc.sys.isNative) {
            cc.view.convertToLocationInView = function (tx, ty, relatedPos) {
                var x = this._devicePixelRatio * (tx - relatedPos.left);
                var y = this._devicePixelRatio * (relatedPos.top + relatedPos.height - ty);
                return this._isRotated ? { x:  y  , y: cc.view._viewPortRect.height - x } : { x: x, y: y };
            };
        }
    };

3.x 点击位置有问题,,咋解决啊