Phaser.Cameras.Scene2D.Camera#
在Phaser3中,场景即世界(world),它是没有边界的。而游戏大小是指我们在Game配置文件中设置的宽、高值,在场景中,可以通过this.game.scale.width
和this.game.scale.height
取得(虑缩放后是显示大小this.game.scale.displaySize
,即画布实际尺寸)。
场景设置镜头以后,我们只能通过游戏尺寸范围(对应于画布)和镜头视窗范围重叠的区域来看场景中的内容。
一个场景可以设置多个镜头,即同时呈现为多个画面。比如一个用来观察全景,一个用来查看局部细节。
镜头是Phaser中游戏的渲染方式。它们提供了一个观看游戏世界的视野/视角(view),并可以相应地进行定位、旋转、缩放和滚动。
一个镜头由两个元素组成:视窗(viewpoint)和滚动值。视窗和滚动值。
视窗是镜头在游戏中的物理位置和大小。默认情况下,镜头的大小与游戏的大小相同,但它们的位置和大小可以设置为任何值。这意味着如果您想创建一个大小为320x200的镜头,并将其放置在游戏的右下角,您可以通过调整视窗来实现(使用
setViewport
和setSize
等方法)。如果你想改变镜头在游戏中的位置,那么你可以滚动它。你可以通过属性
scrollX
和scrollY
或者方法setScroll
来实现。滚动对视窗没有影响,改变视窗对滚动也没有影响。默认情况下,镜头会渲染所有它能看到的游戏对象。您可以使用
ignore
方法来改变这一点,允许您在每个镜头的基础上过滤掉游戏对象。镜头还内置了特效,包括渐变、闪光和镜头抖动。
new Camera(x, y, width, height)#
Extends#
Members#
alpha :number#
alphaBottomLeft :number#
alphaBottomRight :number#
alphaTopLeft :number#
alphaTopRight :number#
backgroundColor :Phaser.Display.Color#
cameraManager :Phaser.Cameras.Scene2D.CameraManager#
centerX :number #
centerY :number #
deadzone :Phaser.Geom.Rectangle #
defaultPipeline :Phaser.Renderer.WebGL.WebGLPipeline#
dirty :boolean#
disableCull :boolean#
displayHeight :number #
displayWidth :number #
fadeEffect :Phaser.Cameras.Scene2D.Effects.Fade#
flashEffect :Phaser.Cameras.Scene2D.Effects.Flash#
flipX :boolean#
flipY :boolean#
followOffset :Phaser.Math.Vector2#
hasPostPipeline :boolean#
height :number#
id :number #
inputEnabled :boolean#
isTinted :boolean #
lerp :Phaser.Math.Vector2#
mask :Phaser.Display.Masks.BitmapMask|Phaser.Display.Masks.GeometryMask #
midPoint :Phaser.Math.Vector2 #
name :string#
originX :number#
originY :number#
panEffect :Phaser.Cameras.Scene2D.Effects.Pan#
pipeline :Phaser.Renderer.WebGL.WebGLPipeline#
pipelineData :object#
postPipeline :Array. #
rotateToEffect :Phaser.Cameras.Scene2D.Effects.RotateTo#
roundPixels :boolean#
scaleManager :Phaser.Scale.ScaleManager#
scene :Phaser.Scene#
sceneManager :Phaser.Scenes.SceneManager#
scrollX :number#
摄像头水平滚动所到位置(视口X)。
scrollY :number#
摄像头垂直滚动所到位置(视口X)。
1 2 3 4 |
|
shakeEffect :Phaser.Cameras.Scene2D.Effects.Shake#
tint :number#
tintBottomLeft :number#
tintBottomRight :number#
tintFill :boolean#
tintTopLeft :number#
tintTopRight :number#
transparent :boolean#
useBounds :boolean#
visible :boolean#
width :number#
worldView :Phaser.Geom.Rectangle #
x :number#
镜头视口相对于画布左上角的X坐标,即视口在画布中的X位置。
y :number#
镜头视口相对于画布左上角的Y坐标,即视口在画布中的Y位置。