我是在ios上做的实验,就是进入app的时候是竖屏,在某些情况需要变成横屏,有没有真正实践过的朋友说说做法?最粗略的做法我试验过了,大致就是平台层实现一个屏幕旋转函数,确实能看到屏幕旋转了,然后js层调用了cc.view.setOrientation函数,感觉触摸什么的都是错乱的,显示也有些问题。调用cc.view.setFrameSize效果有变化,但也是错误的。急求有经验的大佬给出正确做法。
补充下呢,主要代码如下:
ss.Action.setAppOrientation(orientation); //自己封装的函数,就是让ios屏幕旋转
cc.view.setOrientation(cocosOrientation);
let w = cc.view.getFrameSize().width;
let h = cc.view.getFrameSize().height;
cc.view.setFrameSize(h,w);
这样做的效果是,确实可以横屏显示了,但是整体往右偏移了很多,差不多400像素,点击触摸都是对了。
设置下这个呢,cc.view.setDesignResolutionSize
[quote=“23661666, post:2, topic:79502”]
实可以横屏显示了,但是整体往右偏移了很
[/quote]mark
跟这个没关系,我试过的,尺寸都是对的,是坐标整体往右边偏移了而已。只是偏移的量我没找出规律到底和什么有关系,我用ipad和iphone这个偏移量是不一样的,一个是474,一个是1000,我研究半天数据,也没看出来关系。
cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);//设置屏幕方向(竖)
cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);//设置屏幕方向(横)
你调用了原生的屏幕方向没?我们以前就是这么搞得 1,调用原生横竖屏,2.设置setFrameSize,3setDesignResolutionSize
调了,难道和引擎版本有关系,之前搜到些文章提到后面较新的版本反而有问题了。
调用了的,放心,肯定不会连这么基础的东西都没试过,我已经把能试的都试了。