BaseCamera

.Cameras.Scene2D. BaseCamera

基本摄像机类. 相机是所有游戏在相位器中渲染的方式.它们为你的游戏世界提供了一个视角, 并且可以相应地定位,旋转,缩放和滚动. 摄像机由两个元素组成:视口和滚动值. 视口是游戏中摄像机的物理位置和大小.默认情况下,摄像机是 创建了与你的游戏相同的大小,但是它们的位置和大小可以设置为任何值.这意味着如果你 我想制作一个320x200大小的摄像头,放在游戏的右下角, 你可以调整视窗来做到这一点(使用类似 `setViewport` 和 `setSize` 的方法). 如果你想改变相机在游戏中的位置,你可以滚动它.你能做到的 通过属性 `scrollX` 和 `scrollY` 或方法 `setScroll` .滚动对没有影响 视口,更改视口对滚动没有影响. 默认情况下,摄像机会渲染它能看到的所有游戏对象.你可以用 `ignore` 方法来改变它, 允许你在每个摄像机的基础上过滤游戏对象. 基本摄像机由摄像机类扩展,它增加了特殊效果,包括淡入淡出, 闪光灯和相机抖动,以及跟踪游戏对象的能力. 基本相机在相位器3.12中引入.它是从相机类中分离出来的 你需要根据需要隔离特效.因此,此类属性的`最大`值是相关的 添加到摄像机类的时间.

Constructor

new BaseCamera(x, y, width, height)

Since:
  • 3.12.0
Parameters:
Name Type Description
x number 摄像机相对于游戏画布左上角的x位置.
y number 摄像机相对于游戏画布左上角的y位置.
width number 相机的宽度,以像素为单位.
height number 摄像机的高度,以像素为单位.

Extends

Members

alpha :number

Since:
  • 3.11.0
Overrides:
Default Value:
  • 1
摄像机alpha值.设置此属性会影响此摄像机拍摄的每个对象 渲染.您可以直接设置属性,即.通过补间动画,淡入或淡出相机, 或者改为通过可链接的 `setAlpha` 方法.
Type:
  • number

alphaBottomLeft :number

Since:
  • 3.0.0
Inherited From:
从游戏对象的左下角开始的阿尔法值. 该值从游戏对象的角到中心进行插值.
Type:
  • number

alphaBottomRight :number

Since:
  • 3.0.0
Inherited From:
从游戏对象右下角开始的阿尔法值. 该值从游戏对象的角到中心进行插值.
Type:
  • number

alphaTopLeft :number

Since:
  • 3.0.0
Inherited From:
从游戏对象左上角开始的阿尔法值. 该值从游戏对象的角到中心进行插值.
Type:
  • number

alphaTopRight :number

Since:
  • 3.0.0
Inherited From:
从游戏对象的右上角开始的阿尔法值. 该值从游戏对象的角到中心进行插值.
Type:
  • number

backgroundColor :Phaser.Display.Color

Since:
  • 3.0.0
此相机的背景颜色.仅在 `transparent` 为 `false` 时使用.
Type:

cameraManager :Phaser.Cameras.Scene2D.CameraManager

Since:
  • 3.17.0
对此摄像机所属场景的摄像机管理器的引用.
Type:

(readonly) centerX :number

Since:
  • 3.10.0
摄像机视口中心相对于游戏画布左侧的水平位置.
Type:
  • number

(readonly) centerY :number

Since:
  • 3.10.0
摄像机视口中心相对于游戏画布顶部的垂直位置.
Type:
  • number

dirty :boolean

Since:
  • 3.11.0
Default Value:
  • true
这个相机脏吗? 自上一帧以来,脏相机的视口大小,边界,滚动,旋转或缩放级别都发生了变化. 该标志在渲染器的 `postRenderCamera` 方法中被清除.
Type:
  • boolean

disableCull :boolean

Since:
  • 3.0.0
Default Value:
  • false
相机应该在检查游戏对象的输入命中测试之前挑选它们吗? 在某些特殊情况下,禁用它可能是有益的.
Type:
  • boolean

(readonly) displayHeight :number

Since:
  • 3.11.0
相机视口的显示高度,考虑相机缩放级别. 如果摄像机的视口高度为600,缩放比例为0.5,则它的显示高度 应该是1200,因为它显示的像素是缩放级别1的两倍. 同样,高度为600且变焦为2的相机将具有显示高度 300像素.
Type:
  • number

(readonly) displayWidth :number

Since:
  • 3.11.0
相机视口的显示宽度,考虑相机缩放级别. 如果摄像机的视口宽度为800,缩放比例为0.5,则其显示宽度 应该是1600,因为它显示的像素是缩放级别1的两倍. 同样,宽度为800且变焦为2的相机将具有显示宽度 400像素.
Type:
  • number

height :number

Since:
  • 3.0.0
摄像机视口的高度,以像素为单位. 视口是摄像机渲染到的区域.设置视口会 不限制摄像头可以滚动到的位置.
Type:
  • number

(readonly) id :number

Since:
  • 3.11.0
摄像机标识.由摄像机管理员分配,用于处理摄像机排除. 该值是一个位掩码.
Type:
  • number

(nullable) mask :Phaser.Display.Masks.BitmapMask|Phaser.Display.Masks.GeometryMask

Since:
  • 3.17.0
此相机在渲染过程中使用的遮罩. 使用 `setMask` 方法设置掩码.使用 `clearMask` 方法移除遮罩.
Type:

(readonly) midPoint :Phaser.Math.Vector2

Since:
  • 3.11.0
摄像机在 `world` 坐标中的中点. 使用它来获得摄像机当前在世界上的确切位置. 在滚动值和跟随器之后,该值将在preRender方法中更新 已被处理.
Type:

name :string

Since:
  • 3.0.0
Default Value:
  • ''
摄像机的名称.这是留给你自己用的.
Type:
  • string

originX :number

Since:
  • 3.11.0
Default Value:
  • 0.5
该摄像机旋转的水平原点. 默认情况下,相机围绕视口的中心旋转. 更改原点允许您调整视口中发生旋转的点. 值为0将从视口的左上角开始旋转.右下方的值1. 请参见 `setOrigin` ,在单个可链接的调用中设置两个原点.
Type:
  • number

originY :number

Since:
  • 3.11.0
Default Value:
  • 0.5
该摄像机旋转的垂直原点. 默认情况下,相机围绕视口的中心旋转. 更改原点允许您调整视口中发生旋转的点. 值为0将从视口的左上角开始旋转.右下方的值1. 请参见 `setOrigin` ,在单个可链接的调用中设置两个原点.
Type:
  • number

renderList :Array.<Phaser.GameObjects.GameObject>

Since:
  • 3.52.0
这个数组填充了这个相机渲染的所有游戏对象 在上一帧(或当前帧,取决于检查时间)中. 在`Camera.preUpdate`开始时或摄像机被破坏时,它被清除. 您不应该修改这个数组,因为它是由输入系统内部使用的, 但是你可以根据需要阅读它.请注意,游戏对象可能会出现在此 如果属于多个非独占容器,则列出多次.
Type:

roundPixels :boolean

Since:
  • 3.0.0
Default Value:
  • false
这台相机应该将其像素值四舍五入为整数吗?
Type:
  • boolean

scaleManager :Phaser.Scale.ScaleManager

Since:
  • 3.16.0
游戏秤管理器参考.
Type:

scene :Phaser.Scene

Since:
  • 3.0.0
对该摄像机所属场景的引用.
Type:

sceneManager :Phaser.Scenes.SceneManager

Since:
  • 3.12.0
游戏场景管理器的参考.
Type:

scrollX :number

Since:
  • 3.0.0
Default Value:
  • 0
该摄像机的水平滚动位置. 更改此值以使摄像机在场景中滚动. 或者,通过`开始跟随`方法将摄像机设置为跟随游戏对象, 将相应地自动调整摄像机滚动值. 您可以通过 `setBounds` 方法设置摄像机滚动的范围.
Type:
  • number

scrollY :number

Since:
  • 3.0.0
Default Value:
  • 0
该摄像机的垂直滚动位置. 更改此值以使摄像机在场景中滚动. 或者,通过`开始跟随`方法将摄像机设置为跟随游戏对象, 将相应地自动调整摄像机滚动值. 您可以通过 `setBounds` 方法设置摄像机滚动的范围.
Type:
  • number

transparent :boolean

Since:
  • 3.0.0
Default Value:
  • true
这个相机有透明背景吗?
Type:
  • boolean

useBounds :boolean

Since:
  • 3.0.0
Default Value:
  • false
这台相机是否使用边界来限制滚动运动? 通过 `Camera.setBounds` 设置此属性和边界.
Type:
  • boolean

visible :boolean

Since:
  • 3.10.0
Overrides:
Default Value:
  • true
这架照相机是否可见? 一个可见的摄像机将渲染和执行输入测试. 一个不可见的摄像机不会渲染任何东西,并且会跳过输入测试.
Type:
  • boolean

width :number

Since:
  • 3.0.0
摄像机视口的宽度,以像素为单位. 视口是摄像机渲染到的区域.设置视口会 不限制摄像头可以滚动到的位置.
Type:
  • number

(readonly) worldView :Phaser.Geom.Rectangle

Since:
  • 3.11.0
世界视图是一个矩形,它定义了摄像机当前正在观察的 `world` 的区域. 这将考虑相机视口大小,缩放和滚动位置,并在相机预渲染步骤中更新. 如果您启用了摄像机边界,世界观将相应地被固定在这些边界上. 您可以将其用于剔除或交叉检查.
Type:

x :number

Since:
  • 3.0.0
摄像机视口相对于游戏画布左上角的x位置. 视口是摄像机渲染到的区域. 要调整摄像机在游戏世界中的位置,请查看 `scrollX` 值.
Type:
  • number

y :number

Since:
  • 3.0.0
摄像机视口相对于游戏画布左上角的y位置. 视口是摄像机渲染到的区域. 要调整摄像机在游戏世界中的位置,请查看`滚动调整`值.
Type:
  • number

zoom :number

Since:
  • 3.0.0
Default Value:
  • 1
摄像机缩放值.更改此值以放大或缩小场景. 值为0.5将缩小相机,所以你现在可以看到两倍 和以前一样.值为2将放大相机,因此每个像素 现在渲染时占用2像素. 设置为1可返回默认缩放级别. 请注意不要将该值设置为零.
Type:
  • number

zoomX :number

Since:
  • 3.50.0
Default Value:
  • 1
摄像机水平缩放值.更改此值以放大或缩小场景. 值为0.5将缩小相机,所以你现在可以看到两倍 和以前一样.值为2将放大相机,因此每个像素 现在渲染时占用2像素. 设置为1可返回默认缩放级别. 请注意不要将该值设置为零.
Type:
  • number

zoomY :number

Since:
  • 3.50.0
Default Value:
  • 1
摄像机垂直缩放值.更改此值以放大或缩小场景. 值为0.5将缩小相机,所以你现在可以看到两倍 和以前一样.值为2将放大相机,因此每个像素 现在渲染时占用2像素. 设置为1可返回默认缩放级别. 请注意不要将该值设置为零.
Type:
  • number

Methods

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

addToRenderList(child)

Since:
  • 3.52.0
将给定的游戏对象添加到摄像机渲染列表中. 这在渲染阶段被调用.仅实际呈现的对象 将出现在渲染列表中.
Parameters:
Name Type Description
child Phaser.GameObjects.GameObject 要添加到渲染列表的游戏对象.

centerOn(x, y) → {this}

Since:
  • 3.11.0
移动摄像机,使其位于给定坐标的中心,边界允许.
Parameters:
Name Type Description
x number 以其为中心的水平坐标.
y number 以其为中心的垂直坐标.
Returns:
此摄像机实例.
Type
this

centerOnX(x) → {this}

Since:
  • 3.16.0
水平移动相机,使其在给定的x坐标上居中,边界允许. 调用这个不会改变scrollY值.
Parameters:
Name Type Description
x number 以其为中心的水平坐标.
Returns:
此摄像机实例.
Type
this

centerOnY(y) → {this}

Since:
  • 3.16.0
垂直移动相机,使其在给定的y坐标上居中,边界允许. 调用此函数不会改变scrollX值.
Parameters:
Name Type Description
y number 以其为中心的垂直坐标.
Returns:
此摄像机实例.
Type
this

centerToBounds() → {this}

Since:
  • 3.0.0
移动摄像机,使其位于摄像机边界的中心(如果启用).
Returns:
此摄像机实例.
Type
this

centerToSize() → {this}

Since:
  • 3.0.0
移动相机,使其基于视口大小重新居中.
Returns:
此摄像机实例.
Type
this

clampX(x) → {number}

Since:
  • 3.11.0
获取一个x值,并检查它是否在摄像机范围内,如果需要,进行调整. 如果不使用摄像机边界,请不要调用此方法.