跳转至

【说明】

这是根据Phaser3 API文档中各类之页面右侧的目录整理的,略作说明,或增加代码示例。可做便览之用。

Phaser 3 API Documentation - Class: Group#

组是生成、操纵、循环使用相似游戏对象的途径。 组成员是非排他的,一个成员可属于多个组。 组自身不能显示,也不能定位、旋转、缩放、隐藏。

Phaser.GameObjects.Group#

new Group(scene [, children] [, config])

组生成子项的配置对象非常丰富。可预先对子项的多种属性进行配置。类型是Array.[Phaser.GameObjects.GameObject] | GroupConfig | GroupCreateConfig。 参考小抄Phaser.GameObject.Group

@game objects\group\create invaders.js

1
2
3
4
5
6
7
8
9
// 一次生成一个小组的精灵
var invader1 = this.add.group({ key: 'invader1', frame: 0, repeat: 13, setXY: { x: 32, y: 100, stepX: 40 } });
// 一次生成两个小组的精灵
var invader2 = this.add.group([
    { key: 'invader2', frame: 0, repeat: 10, setXY: { x: 32, y: 148, stepX: 52 } },
    { key: 'invader2', frame: 0, repeat: 10, setXY: { x: 32, y: 148 + 48, stepX: 52 } }
]);
Phaser.Actions.IncX(invader1.getChildren(), 100);
Phaser.Actions.IncX(invader2.getChildren(), 100);

@game objects\group\multiple adds.js

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var group = this.add.group([
    // 第一小组
    {
        key: 'diamonds',
        // 添加5个
        frame: [0, 1, 2, 3, 4],
        setXY:
        {
            x: 100,
            y: 100,
            // 步进设置
            stepX: 64,
            stepY: 64
        }
    },
    // 第二小组
    {
        key: 'diamonds',
        frame: [0, 1, 2, 3, 4],
        setXY:
        {
            x: 356,
            y: 100,
            stepX: -64,
            stepY: 64
        }
    }
]);

Members#

active :boolean#

children :Phaser.Structs.Set.#

子项数目。

classType :object#

生成的子项的类型。默认是Sprite。可以是自定义类。

createCallback :GroupCallback#

添加、生成子项时的回调函数。

createMultipleCallback :GroupMultipleCreateCallback#

defaultFrame :string|integer#

默认使用的纹理帧。

defaultKey :string#

isParent :boolean#

maxSize :integer#

子项最大数目。常用于对象池。

removeCallback :GroupCallback#

runChildUpdate :boolean#

scene :Phaser.Scene#

Methods#

add(child [, addToScene])#

addMultiple(children [, addToScene])#

clear( [removeFromScene] [, destroyChild])#

清除所有子项(可选同时从场景清除、销毁)。

contains(child)#

判断是否包含子项。

countActive( [value])#

点数活的子项/死的子项。

create( [x] [, y] [, key] [, frame] [, visible] [, active])#

生成并加入子项。

createFromConfig(options)#

从配置文件生成并加入一组子项。

createMultiple(config)#

destroy( [destroyChildren])#

get( [x] [, y] [, key] [, frame] [, visible])#

取得第一个符合条件的死子项,如果没有则生成并加入一个活子项。常用于对象池生成对象。以下get系列类此。

getChildren()#

返回包含所有子项的数组。

getFirst( [state] [, createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

getFirstAlive( [createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

getFirstDead( [createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

getFirstNth(nth [, state] [, createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

取得第nth个符合条件的子项。

getLast( [state] [, createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

getLastNth(nth [, state] [, createIfNull] [, x] [, y] [, key] [, frame] [, visible])#

getLength()#

getTotalFree()#

取得可生成、可激活的子项个数。

getTotalUsed()#

取得活子项数。

isFull()#

子项数是否已满额。

kill(gameObject)#

杀死子项。

killAndHide(gameObject)#

杀死并隐藏子项。

playAnimation(key [, startFrame])#

播放所有子项的指定动画。

preUpdate(time, delta)#

remove(child [, removeFromScene] [, destroyChild])#

移除指定子项(可选同时从场景清除、销毁)。

setDepth(value, step)#

toggleVisible()#

切换可见状态。

published from :Phaser 3 API Documentation - Class: Group

评论