[已解决]Cocos2d-JS v3.0 RC2中获取宽高的bug

引擎版本:Cocos2d-JS v3.0 RC2
浏览器:chrome

在index.html中已设置画布大小为960*640,并在main中cc.view.setDesignResolutionSize(960, 640, cc.ResolutionPolicy.SHOW_ALL)
但是在用到cc.director.getWinSize()时,发现width值为960.539629005059,何解?

浮点数啊浮点数

Hi,

cc.view.setDesignResolutionSize(960, 640, cc.ResolutionPolicy.SHOW_ALL), 这里你设置的是960, 640的设计分辨率, 而设置的显示模式是SHOW_ALL, 意思是按比例缩放,以最小比例为准,如果高比宽的比例小,就以高度比例为准。这时左右两边会有一个小黑边。

取小值是这样算的:

你可以用cc._canvas.width, cc._canvas.height得到 canvas元素的高与宽。 这个值是这样乘出来的
–cc._canvas.width = cc.view.getScaleX() * cc.director.getWinSize().width, cc._canvas.height = cc.view.getScaleY() * cc.director.getWinSize().height
cc.view.getScaleX是缩放比例。

960.539629005059是小数,那么你的高度应该是一个整数。