求助一下..如何获取 真实屏幕的大小

我希望 某个 节点 贴在真实的屏幕边缘

在 canvas中 单独勾选 fitH 或者 fitW 都能够实现
同时 勾选这两个时… 就不好使了…

下面这些 方法 都不能 获得 可以直接使用的像素值

//视图中canvas尺寸
console.log(“canvas size:”, cc.view.getCanvasSize());
//视图中窗口可见区域尺寸
console.log(“visible Size:”, cc.view.getVisibleSize());
//设计分辨率
console.log(“DesignResolutionSize Size:”, cc.view.getDesignResolutionSize());
//屏幕尺寸
console.log(“frame size”, cc.view.getFrameSize() );
//当前游戏窗口大小
console.log(“winSize:”, cc.winSize);

不知有没有 正经点的 api 直接就能用的

cc.winSize 获取当前屏幕分辨率

1赞

回答错误啊…

微信有 wx.getSystemInfoSync() 别的平台你找下吧

cc.view.getFrameSize() 这个不行吗?

这个接口可以获得屏幕的实际分辨率。

(在 canvas中 单独勾选 fitH 或者 fitW 都能够实现
同时 勾选这两个时… 就不好使了…)
适配的源码在CCView.js的setDesignResolutionSize
有个关键的属性是_visbleRect(理解为经过适配策略后的设计分辨率)看一下它和canvas的designResolutionSize的关系就明白了。
希望能帮助到你,有不对的地方交流指正哟

给这个节点动态添加一个widget组件,想贴那边屏幕,就勾选那边,并且间距设置为0?试试?

全部勾选表示的是showall,我用v2.4.2 cc.view.getFrameSize()还是获得的真实屏幕大小(浏览器测试的)。至于visibleRect因为是showall,必定是等于designResolutionSize。

以上大家回复的 我没试 不知道行不行

我用的是这个方法…

let s1 = cc.view.getFrameSize(); //屏幕尺寸
let s2 = cc.view.getDesignResolutionSize(); //设计分辨率

let ttt= s1.width/s1.height;
if(ttt >= s2.width/s2.height){
//手机 或 左右有黑边,
game_set.real_size.h = s2.height;
game_set.real_size.w = s2.height*ttt;

}else{
//4:3 电脑 上下有黑边
game_set.real_size.h = s2.width/ttt;
game_set.real_size.w =s2.width;

}

game_set.real_size.
就是真实屏幕的大小…
实测可用

我就是同时勾选的… :laughing:

没试过,发帖求助干嘛。
你的这种方式,是屏幕向设计分辨率转化,根本不是真实屏幕大小。

https://mp.weixin.qq.com/s/RmXEyYxLqlLi369CwgLsow
可以看看哈

我想让贴边的都贴边了…
爱信不信
呵呵

信你的
你只要能贴边就行
呵呵

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。