【说明】
这是根据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
// 一次生成一个小组的精灵
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
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