Options
All
  • Public
  • Public/Protected
  • All
Menu

Class View

View 代表游戏窗口视图,它的核心功能包括:

  • 对所有 UI Canvas 进行设计分辨率适配。
  • 提供窗口视图的交互,比如监听 resize 事件,控制 retina 屏幕适配,等等。
  • 控制 Canvas 节点相对于外层 DOM 节点的缩放和偏移。 引擎会自动初始化它的单例对象 {{view}},所以你不需要实例化任何 View,只需要直接使用 view.methodName();

Hierarchy

Index

Constructors

constructor

Properties

Private _antiAliasEnabled

_antiAliasEnabled: boolean

Private _autoFullScreen

_autoFullScreen: boolean

_callbackTable

_callbackTable: ICallbackTable = createMap(true)

_designResolutionSize

_designResolutionSize: Size

Private _devicePixelRatio

_devicePixelRatio: number

Private _frameSize

_frameSize: Size

Private _isAdjustViewport

_isAdjustViewport: boolean

Private _isRotated

_isRotated: boolean

Private _maxPixelRatio

_maxPixelRatio: number

Private _orientation

_orientation: any

Private _orientationChanging

_orientationChanging: boolean

_originalDesignResolutionSize

_originalDesignResolutionSize: Size

Private _resizeCallback

_resizeCallback: Function | null

_resizeWithBrowserSize

_resizeWithBrowserSize: boolean

Private _resizing

_resizing: boolean

Private _resolutionPolicy

_resolutionPolicy: ResolutionPolicy

Private _retinaEnabled

_retinaEnabled: boolean

Private _rpExactFit

_rpExactFit: ResolutionPolicy

Private _rpFixedHeight

_rpFixedHeight: ResolutionPolicy

Private _rpFixedWidth

_rpFixedWidth: ResolutionPolicy

Private _rpNoBorder

_rpNoBorder: ResolutionPolicy

Private _rpShowAll

_rpShowAll: ResolutionPolicy

Private _scaleX

_scaleX: number

Private _scaleY

_scaleY: number

Private _viewportRect

_viewportRect: Rect

Private _visibleRect

_visibleRect: Rect

Static instance

instance: View

Methods

Private adjustSizeKeepCanvasSize

  • _adjustSizeKeepCanvasSize(): void

Private adjustViewportMeta

  • _adjustViewportMeta(): void

Private convertMouseToLocation

  • convertMouseToLocation(in_out_point: any, relatedPos: any): void

Private convertPointWithScale

  • convertPointWithScale(point: any): void

Private convertTouchWidthScale

  • convertTouchWidthScale(selTouch: any): void

Private convertTouchesWithScale

  • convertTouchesWithScale(touches: any): void

Private initFrameSize

  • _initFrameSize(): void

Private orientationChange

  • _orientationChange(): void

Private resizeEvent

  • _resizeEvent(): void

Private setViewportMeta

  • setViewportMeta(metas: any, overwrite: any): void

adjustViewportMeta

  • adjustViewportMeta(enabled: boolean): void
  • 设置引擎是否调整 viewport meta 来配合屏幕适配。 默认设置为启动,我们强烈建议你不要将它设置为关闭。 即使当它启动时,你仍然能够设置你的 viewport meta,它不会被覆盖。 仅在 Web 模式下有效

    Parameters

    • enabled: boolean

      Enable automatic modification to "viewport" meta

    Returns void

convertToLocationInView

  • convertToLocationInView(tx: number, ty: number, relatedPos: any, out: Vec2): Vec2
  • 将屏幕坐标转换为游戏视图下的坐标。

    Parameters

    • tx: number

      The X axis translation

    • ty: number

      The Y axis translation

    • relatedPos: any

      The related position object including "left", "top", "width", "height" informations

    • out: Vec2

      The out object to save the conversion result

    Returns Vec2

emit

  • emit(key: string, ...args: any[]): void
  • 派发一个指定事件,并传递需要的参数

    Parameters

    • key: string

      event type

    • Rest ...args: any[]

      Arguments when the event triggered

    Returns void

enableAntiAlias

  • enableAntiAlias(enabled: boolean): void

enableAutoFullScreen

  • enableAutoFullScreen(enabled: boolean): void
  • 启动时,移动端游戏会在移动端自动尝试进入全屏模式。 你能够传入 true 为参数去启动它,用 false 参数来关闭它。

    Parameters

    • enabled: boolean

      Enable or disable auto full screen on mobile devices

    Returns void

enableRetina

  • enableRetina(enabled: boolean): void
  • 对于 Apple 这种支持 Retina 显示的设备上默认进行优化而其他类型设备默认不进行优化, 它仅会在你调用 setDesignResolutionPolicy 方法时有影响。 仅在 Web 模式下有效。

    Parameters

    • enabled: boolean

      Enable or disable retina display

    Returns void

getCanvasSize

  • getCanvasSize(): Size
  • 返回视图中 canvas 的尺寸。 在 native 平台下,它返回全屏视图下屏幕的尺寸。 在 Web 平台下,它返回 canvas 元素尺寸。

    Returns Size

getDesignResolutionSize

  • getDesignResolutionSize(): Size

getDevicePixelRatio

  • getDevicePixelRatio(): number

getFrameSize

  • getFrameSize(): Size
  • 返回视图中边框尺寸。 在 native 平台下,它返回全屏视图下屏幕的尺寸。 在 web 平台下,它返回 canvas 元素的外层 DOM 元素尺寸。

    Returns Size

getResolutionPolicy

getScaleX

  • getScaleX(): number
  • 返回横轴的缩放比,这个缩放比是将画布像素分辨率放到设计分辨率的比例。

    Returns number

getScaleY

  • getScaleY(): number
  • 返回纵轴的缩放比,这个缩放比是将画布像素分辨率缩放到设计分辨率的比例。

    Returns number

getViewportRect

  • getViewportRect(): Rect

getVisibleOrigin

  • getVisibleOrigin(): Vec2

getVisibleOriginInPixel

  • getVisibleOriginInPixel(): Vec2

getVisibleSize

  • getVisibleSize(): Size

getVisibleSizeInPixel

  • getVisibleSizeInPixel(): Size

hasEventListener

  • hasEventListener(key: string, callback?: Function, target?: Object | null): boolean
  • 检查指定事件是否已注册回调。

    Parameters

    • key: string

      Event type

    • Optional callback: Function

      Callback function when event triggered

    • Default value target: Object | null = null

      Callback callee

    Returns boolean

init

  • init(): void

isAntiAliasEnabled

  • isAntiAliasEnabled(): boolean

isAutoFullScreenEnabled

  • isAutoFullScreenEnabled(): boolean
  • 检查自动进入全屏模式是否启动。 仅在 Web 模式下有效。

    Returns boolean

    Auto full screen enabled or not

isRetinaEnabled

  • isRetinaEnabled(): boolean

off

  • off(type: string, callback?: Function, target?: Object): void
  • 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

    example

    // register fire eventListener var callback = eventTarget.on('fire', function () { cc.log("fire in the hole"); }, target); // remove fire event listener eventTarget.off('fire', callback, target); // remove all fire event listeners eventTarget.off('fire');

    Parameters

    • type: string

      A string representing the event type being removed.

    • Optional callback: Function

      The callback to remove.

    • Optional target: Object

      The target (this object) to invoke the callback, if it's not given, only callback without target will be removed

    Returns void

on

  • on(type: string, callback: Function, target?: Object): undefined | Function
  • 注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

    example

    eventTarget.on('fire', function () { cc.log("fire in the hole"); }, node);

    Parameters

    • type: string

      A string representing the event type to listen for.

    • callback: Function

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional target: Object

      The target (this object) to invoke the callback, can be null

    Returns undefined | Function

    • Just returns the incoming callback so you can save the anonymous function easier.

once

  • once(type: string, callback: Function, target?: Object): undefined | Function
  • 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

    example

    eventTarget.once('fire', function () { cc.log("this is the callback and will be invoked only once"); }, node);

    Parameters

    • type: string

      A string representing the event type to listen for.

    • callback: Function

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional target: Object

      The target (this object) to invoke the callback, can be null

    Returns undefined | Function

removeAll

  • removeAll(keyOrTarget?: string | Object): void
  • 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。

    Parameters

    • Optional keyOrTarget: string | Object

      The event type or target with which the listeners will be removed

    Returns void

resizeWithBrowserSize

  • resizeWithBrowserSize(enabled: boolean): void
  • 设置当发现浏览器的尺寸改变时,是否自动调整 canvas 尺寸大小。 仅在 Web 模式下有效。

    Parameters

    • enabled: boolean

      Whether enable automatic resize with browser's resize event

    Returns void

setCanvasSize

  • setCanvasSize(width: number, height: number): void

setDesignResolutionSize

  • setDesignResolutionSize(width: number, height: number, resolutionPolicy: ResolutionPolicy | number): void
  • 通过设置设计分辨率和匹配模式来进行游戏画面的屏幕适配。

    Parameters

    • width: number

      Design resolution width.

    • height: number

      Design resolution height.

    • resolutionPolicy: ResolutionPolicy | number

      The resolution policy desired

    Returns void

setFrameSize

  • setFrameSize(width: number, height: number): void
  • 在 native 平台下,设置视图框架尺寸。 在 web 平台下,设置 canvas 外层 DOM 元素尺寸。

    Parameters

    • width: number
    • height: number

    Returns void

setOrientation

  • setOrientation(orientation: number): void
  • 设置游戏屏幕朝向,它能够是横版,竖版或自动。 当设置为横版或竖版,并且屏幕的宽高比例不匹配时, cc.view 会自动用 CSS 旋转游戏场景的 canvas, 这个方法不会对 native 部分产生任何影响,对于 native 而言,你需要在应用设置中的设置排版。

    Parameters

    • orientation: number

      Possible values: macro.ORIENTATION_LANDSCAPE | macro.ORIENTATION_PORTRAIT | macro.ORIENTATION_AUTO

    Returns void

setRealPixelResolution

  • setRealPixelResolution(width: number, height: number, resolutionPolicy: ResolutionPolicy | number): void
  • 设置容器(container)需要的像素分辨率并且适配相应分辨率的游戏内容。

    Parameters

    • width: number

      Design resolution width.

    • height: number

      Design resolution height.

    • resolutionPolicy: ResolutionPolicy | number

      The resolution policy desired

    Returns void

setResizeCallback

  • setResizeCallback(callback: Function | null): void
  • 设置 cc.view 调整视窗尺寸行为的回调函数, 这个回调函数会在应用适配模式之前被调用, 因此你可以在这个回调函数内添加任意附加改变, 仅在 Web 平台下有效。

    Parameters

    • callback: Function | null

      The callback function

    Returns void

setResolutionPolicy

targetOff

  • targetOff(keyOrTarget?: string | Object): void
  • 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。

    Parameters

    • Optional keyOrTarget: string | Object

    Returns void

Generated using TypeDoc