Options
All
  • Public
  • Public/Protected
  • All
Menu

Class View

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

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

Hierarchy

  • any
    • View

Index

Constructors

constructor

Properties

Private _autoFullScreen

_autoFullScreen: boolean

_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: (() => void) | 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

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

init

  • init(): void

isAutoFullScreenEnabled

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

    Returns boolean

    Auto full screen enabled or not

isRetinaEnabled

  • isRetinaEnabled(): boolean

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
  • 设置游戏屏幕朝向,它能够是横版,竖版或自动。 当设置为横版或竖版,并且屏幕的宽高比例不匹配时, 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: (() => void) | null): void
  • 设置 view 调整视窗尺寸行为的回调函数, 这个回调函数会在应用适配模式之前被调用, 因此你可以在这个回调函数内添加任意附加改变, 仅在 Web 平台下有效。

    Parameters

    • callback: (() => void) | null

      The callback function

    Returns void

setResolutionPolicy

Generated using TypeDoc