View
Class
Module: _decorator Parent Module: cc
cc.view is the singleton object which represents the game window.
It's main task include:
- Apply the design resolution policy
- Provide interaction with the window, like resize event on web, retina display support, etc...
- Manage the game view port which can be different with the window
- Manage the content scale and translation
Since the cc.view is a singleton, you don't need to call any constructor or create functions,
the standard way to use it is by calling: - cc.view.methodName();
Index
Methods
setTargetDensityDPI
Sets view's target-densitydpi for android mobile browser. it can be set to:
- cc.macro.DENSITYDPI_DEVICE, value is "device-dpi"
- cc.macro.DENSITYDPI_HIGH, value is "high-dpi" (default value)
- cc.macro.DENSITYDPI_MEDIUM, value is "medium-dpi" (browser's default value)
- cc.macro.DENSITYDPI_LOW, value is "low-dpi"
- Custom value, e.g: "480"
</p> getTargetDensityDPI
Returns the current target-densitydpi value of cc.view.resizeWithBrowserSize
Sets whether resize canvas automatically when browser's size changed.
Useful only on web.setResizeCallback
Sets the callback function for cc.view's resize action,
this callback will be invoked before applying resolution policy,
so you can do any additional modifications within the callback.
Useful only on web.setOrientation
Sets the orientation of the game, it can be landscape, portrait or auto. When set it to landscape or portrait, and screen w/h ratio doesn't fit, cc.view will automatically rotate the game canvas using CSS. Note that this function doesn't have any effect in native, in native, you need to set the application orientation in native project settingsadjustViewPort
Sets whether the engine modify the "viewport" meta in your web page.
It's enabled by default, we strongly suggest you not to disable it.
And even when it's enabled, you can still set your own "viewport" meta, it won't be overridden
Only useful on webenableRetina
Retina support is enabled by default for Apple device but disabled for other devices,
it takes effect only when you called setDesignResolutionPolicy
Only useful on webisRetinaEnabled
Check whether retina display is enabled.
Only useful on webenableAntiAlias
Whether to Enable on anti-aliasisAntiAliasEnabled
Returns whether the current enable on anti-aliasenableAutoFullScreen
If enabled, the application will try automatically to enter full screen mode on mobile devices
You can pass true as parameter to enable it and disable it by passing false.
Only useful on webisAutoFullScreenEnabled
Check whether auto full screen is enabled.
Only useful on webisViewReady
Get whether render system is ready(no matter opengl or canvas),
this name is for the compatibility with cocos2d-x, subclass must implement this method.setContentTranslateLeftTop
Sets the resolution translate on View.getContentTranslateLeftTop
Returns the resolution translate on ViewgetFrameSize
Returns the frame size of the view.
On native platforms, it returns the screen size since the view is a fullscreen view.
On web, it returns the size of the canvas's outer DOM element.setFrameSize
On native, it sets the frame size of view.
On web, it sets the size of the canvas's outer DOM element.getVisibleSize
Returns the visible area size of the view port.getVisibleSizeInPixel
Returns the visible area size of the view port.getVisibleOrigin
Returns the visible origin of the view port.getVisibleOriginInPixel
Returns the visible origin of the view port.canSetContentScaleFactor
Returns whether developer can set content's scale factor.getResolutionPolicy
Returns the current resolution policysetResolutionPolicy
Sets the current resolution policysetDesignResolutionSize
Sets the resolution policy with designed view size in points.
The resolution policy include:
[1] ResolutionExactFit Fill screen by stretch-to-fit: if the design resolution ratio of width to height is different from the screen resolution ratio, your game view will be stretched.
[2] ResolutionNoBorder Full screen without black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two areas of your game view will be cut.
[3] ResolutionShowAll Full screen with black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two black borders will be shown.
[4] ResolutionFixedHeight Scale the content's height to screen's height and proportionally scale its width
[5] ResolutionFixedWidth Scale the content's width to screen's width and proportionally scale its height
[cc.ResolutionPolicy] [Web only feature] Custom resolution policy, constructed by cc.ResolutionPolicygetDesignResolutionSize
Returns the designed size for the view. Default resolution size is the same as 'getFrameSize'.setRealPixelResolution
Sets the container to desired pixel resolution and fit the game content to it. This function is very useful for adaptation in mobile browsers. In some HD android devices, the resolution is very high, but its browser performance may not be very good. In this case, enabling retina display is very costy and not suggested, and if retina is disabled, the image may be blurry. But this API can be helpful to set a desired pixel resolution which is in between. This API will do the following:- Set viewport's width to the desired width in pixel
- Set body width to the exact pixel resolution
- The resolution policy will be reset with designed view size in points.
setViewPortInPoints
Sets view port rectangle with points.setScissorInPoints
Sets Scissor rectangle with points.isScissorEnabled
Returns whether GL_SCISSOR_TEST is enablegetScissorRect
Returns the current scissor rectanglesetViewName
Sets the name of the viewgetViewName
Returns the name of the viewgetViewPortRect
Returns the view port rectangle.getScaleX
Returns scale factor of the horizontal direction (X axis).getScaleY
Returns scale factor of the vertical direction (Y axis).getDevicePixelRatio
Returns device pixel ratio for retina display.convertToLocationInView
Returns the real location in view for a translation based on a related position_getInstance
Details
Methods
setTargetDensityDPI
Sets view's target-densitydpi for android mobile browser. it can be set to:
1. cc.macro.DENSITYDPI_DEVICE, value is "device-dpi"
2. cc.macro.DENSITYDPI_HIGH, value is "high-dpi" (default value)
3. cc.macro.DENSITYDPI_MEDIUM, value is "medium-dpi" (browser's default value)
4. cc.macro.DENSITYDPI_LOW, value is "low-dpi"
5. Custom value, e.g: "480"
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:239 |
Parameters
densityDPI
String
getTargetDensityDPI
Returns the current target-densitydpi value of cc.view.
meta | description |
---|---|
Returns | String |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:257 |
resizeWithBrowserSize
Sets whether resize canvas automatically when browser's size changed.
Useful only on web.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:266 |
Parameters
enabled
Boolean Whether enable automatic resize with browser's resize event
setResizeCallback
Sets the callback function for cc.view's resize action,
this callback will be invoked before applying resolution policy,
so you can do any additional modifications within the callback.
Useful only on web.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:290 |
Parameters
callback
Function | Null The callback function
setOrientation
Sets the orientation of the game, it can be landscape, portrait or auto. When set it to landscape or portrait, and screen w/h ratio doesn't fit, cc.view will automatically rotate the game canvas using CSS. Note that this function doesn't have any effect in native, in native, you need to set the application orientation in native project settings
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:304 |
Parameters
orientation
Number Possible values: cc.macro.ORIENTATION_LANDSCAPE | cc.macro.ORIENTATION_PORTRAIT | cc.macro.ORIENTATION_AUTO
adjustViewPort
Sets whether the engine modify the "viewport" meta in your web page.
It's enabled by default, we strongly suggest you not to disable it.
And even when it's enabled, you can still set your own "viewport" meta, it won't be overridden
Only useful on web
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:419 |
Parameters
enabled
Boolean Enable automatic modification to "viewport" meta
enableRetina
Retina support is enabled by default for Apple device but disabled for other devices,
it takes effect only when you called setDesignResolutionPolicy
Only useful on web
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:431 |
Parameters
enabled
Boolean Enable or disable retina display
isRetinaEnabled
Check whether retina display is enabled.
Only useful on web
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:442 |
enableAntiAlias
Whether to Enable on anti-alias
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:452 |
Parameters
enabled
Boolean Enable or not anti-alias
isAntiAliasEnabled
Returns whether the current enable on anti-alias
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:492 |
enableAutoFullScreen
If enabled, the application will try automatically to enter full screen mode on mobile devices
You can pass true as parameter to enable it and disable it by passing false.
Only useful on web
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:501 |
Parameters
enabled
Boolean Enable or disable auto full screen on mobile devices
isAutoFullScreenEnabled
Check whether auto full screen is enabled.
Only useful on web
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:522 |
isViewReady
Get whether render system is ready(no matter opengl or canvas),
this name is for the compatibility with cocos2d-x, subclass must implement this method.
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:532 |
setContentTranslateLeftTop
Sets the resolution translate on View.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:552 |
Parameters
getContentTranslateLeftTop
Returns the resolution translate on View
meta | description |
---|---|
Returns | Size | Object |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:562 |
getFrameSize
Returns the frame size of the view.
On native platforms, it returns the screen size since the view is a fullscreen view.
On web, it returns the size of the canvas's outer DOM element.
meta | description |
---|---|
Returns | Size |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:605 |
setFrameSize
On native, it sets the frame size of view.
On web, it sets the size of the canvas's outer DOM element.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:616 |
Parameters
getVisibleSize
Returns the visible area size of the view port.
meta | description |
---|---|
Returns | Size |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:632 |
getVisibleSizeInPixel
Returns the visible area size of the view port.
meta | description |
---|---|
Returns | Size |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:641 |
getVisibleOrigin
Returns the visible origin of the view port.
meta | description |
---|---|
Returns | Vec2 |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:651 |
getVisibleOriginInPixel
Returns the visible origin of the view port.
meta | description |
---|---|
Returns | Vec2 |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:660 |
canSetContentScaleFactor
Returns whether developer can set content's scale factor.
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:670 |
getResolutionPolicy
Returns the current resolution policy
meta | description |
---|---|
Returns | ResolutionPolicy |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:679 |
setResolutionPolicy
Sets the current resolution policy
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:689 |
Parameters
resolutionPolicy
ResolutionPolicy | Number
setDesignResolutionSize
Sets the resolution policy with designed view size in points.
The resolution policy include:
[1] ResolutionExactFit Fill screen by stretch-to-fit: if the design resolution ratio of width to height is different from the screen resolution ratio, your game view will be stretched.
[2] ResolutionNoBorder Full screen without black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two areas of your game view will be cut.
[3] ResolutionShowAll Full screen with black border: if the design resolution ratio of width to height is different from the screen resolution ratio, two black borders will be shown.
[4] ResolutionFixedHeight Scale the content's height to screen's height and proportionally scale its width
[5] ResolutionFixedWidth Scale the content's width to screen's width and proportionally scale its height
[cc.ResolutionPolicy] [Web only feature] Custom resolution policy, constructed by cc.ResolutionPolicy
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:716 |
Parameters
width
Number Design resolution width.height
Number Design resolution height.resolutionPolicy
ResolutionPolicy | Number The resolution policy desired
getDesignResolutionSize
Returns the designed size for the view. Default resolution size is the same as 'getFrameSize'.
meta | description |
---|---|
Returns | Size |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:806 |
setRealPixelResolution
Sets the container to desired pixel resolution and fit the game content to it. This function is very useful for adaptation in mobile browsers. In some HD android devices, the resolution is very high, but its browser performance may not be very good. In this case, enabling retina display is very costy and not suggested, and if retina is disabled, the image may be blurry. But this API can be helpful to set a desired pixel resolution which is in between. This API will do the following:
1. Set viewport's width to the desired width in pixel
2. Set body width to the exact pixel resolution
3. The resolution policy will be reset with designed view size in points.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:816 |
Parameters
width
Number Design resolution width.height
Number Design resolution height.resolutionPolicy
ResolutionPolicy | Number The resolution policy desired
setViewPortInPoints
Sets view port rectangle with points.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:847 |
Parameters
setScissorInPoints
Sets Scissor rectangle with points.
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:863 |
Parameters
isScissorEnabled
Returns whether GL_SCISSOR_TEST is enable
meta | description |
---|---|
Returns | Boolean |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:892 |
getScissorRect
Returns the current scissor rectangle
meta | description |
---|---|
Returns | Rect |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:901 |
setViewName
Sets the name of the view
meta | description |
---|---|
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:921 |
Parameters
viewName
String
getViewName
Returns the name of the view
meta | description |
---|---|
Returns | String |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:932 |
getViewPortRect
Returns the view port rectangle.
meta | description |
---|---|
Returns | Rect |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:941 |
getScaleX
Returns scale factor of the horizontal direction (X axis).
meta | description |
---|---|
Returns | Number |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:950 |
getScaleY
Returns scale factor of the vertical direction (Y axis).
meta | description |
---|---|
Returns | Number |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:959 |
getDevicePixelRatio
Returns device pixel ratio for retina display.
meta | description |
---|---|
Returns | Number |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:968 |
convertToLocationInView
Returns the real location in view for a translation based on a related position
meta | description |
---|---|
Returns | Vec2 |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:977 |
Parameters
tx
Number The X axis translationty
Number The Y axis translationrelatedPos
Object The related position object including "left", "top", "width", "height" informations
_getInstance
meta | description |
---|---|
Returns | View |
Defined in | https:/github.com/cocos-creator/engine/blob/master/cocos2d/core/platform/CCView.js:1019 |