Spec-Zone.ru › Phaser

Класс: Phaser.Weapon

Конструктор

new Weapon(game, parent)

Плагин Weapon предоставляет возможность легко создавать пул пуль и менеджер.

Оружие стреляет объектами Phaser.Bullet, которые по сути являются Sprite с несколькими дополнительными свойствами.
Пули включены для Arcade Physics. В настоящее время они не работают с P2 Physics.

Пули создаются внутри Weapon.bullets, который является экземпляром Phaser.Group. Все, что обычно можно делать с группой, например, перемещать ее по списку отображения, итерировать ее и т. д., можно делать и с группой пуль.

Пули могут иметь текстуры и даже анимации. Вы можете контролировать скорость стрельбы,
частоту стрельбы, угол стрельбы и даже устанавливать такие параметры, как гравитация для них.

Небольшой пример, предполагающий запуск из метода create Phaser.State.

var weapon = this.add.weapon(10, 'bullet');
weapon.fireFrom.set(300, 300);
this.input.onDown.add(weapon.fire, this);

Параметры
Имя Тип Описание
game Phaser.Game

Ссылка на текущий экземпляр Phaser.Game.

parent Phaser.PluginManager

Менеджер Phaser Plugin, который управляет этим плагином.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 31)

Общедоступные свойства

[static] KILL_CAMERA_BOUNDS : integer

Постоянная bulletKillType, которая автоматически уничтожает пули, когда они покидают Camera.bounds прямоугольник.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 417)

[static] KILL_DISTANCE : integer

Постоянная bulletKillType, которая автоматически уничтожает пули, после того, как они
превышают bulletDistance от их исходной позиции выстрела.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 403)

[static] KILL_LIFESPAN : integer

Постоянная bulletKillType, которая автоматически уничтожает пули, когда их bulletLifespan истекает.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 395)

[static] KILL_NEVER : integer

Постоянная bulletKillType, которая останавливает автоматическое уничтожение пуль.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 388)

[static] KILL_STATIC_BOUNDS : integer

Постоянная bulletKillType, которая автоматически уничтожает пули, когда они покидают Weapon.bounds прямоугольник.

Source code: plugins/weapon/WeaponPlugin.js (Line 431)

[static] KILL_WEAPON_BOUNDS : integer

A bulletKillType константа, которая автоматически уничтожает пули, когда они покидают Weapon.bounds прямоугольник.

Source code: plugins/weapon/WeaponPlugin.js (Line 410)

[static] KILL_WORLD_BOUNDS : integer

A bulletKillType константа, которая автоматически уничтожает пули, когда они покидают World.bounds прямоугольник.

Source code: plugins/weapon/WeaponPlugin.js (Line 424)

autoExpandBulletsGroup : boolean

Если пул пуль иссякнет (то есть все пули находятся в полёте), то этот
boolean контролирует, создаст ли группа новый объект пули или нет.

Source code: plugins/weapon/WeaponPlugin.js (Line 46)

autofire : boolean

Будет ли данное оружие стрелять автоматически? Если установлено в true, то новая пуля будет выстрелена
в соответствии с fireRate значением.

Source code: plugins/weapon/WeaponPlugin.js (Line 53)

bounds : Phaser.Rectangle

Этот прямоугольник определяет границы, используемые для определения, следует ли уничтожать пулю.
Он используется в сочетании с Weapon.bulletKillType, когда он установлен на Phaser.Weapon.KILL_WEAPON_BOUNDS,
или Phaser.Weapon.KILL_STATIC_BOUNDS. Если вы не используете ни один из этих типов уничтожения, границы игнорируются.
Если вы отслеживаете спрайт или точку, то границы центрируются на этом объекте каждый кадр.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 266)

bulletAngleOffset : number

Дополнительный смещение угла, применяемое к пулям при их запуске.
Это полезно, например, если ваши спрайты пуль были нарисованы, ориентированные вверх, а не
вправо, и вы хотите стрелять под углом. В этом случае вы можете установить
смещение угла в 90, и они будут правильно повернуты при выстреле.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 153)

bulletAngleVariance : number

Это отклонение, добавляемое к углу пуль при их выстреле.
Если вы стреляете под углом 90 и у вас есть bulletAngleVariance 20, то фактический
угол пуль будет находиться между 70 и 110 градусами. Это быстрый способ добавить
эффект «разброса» к оружию.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 162)

bulletAnimation : string

Строковое имя анимации, которая будет применена к пуле при запуске.
Это устанавливается через Weapon.addBulletAnimation.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 112)

bulletClass : Object

Класс пуль, которые запускаются этим оружием. По умолчанию Phaser.Bullet, но может быть
изменён перед вызовом createBullets и задан вашим собственным типом класса.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1111)

bulletCollideWorldBounds : boolean

Пули должны сталкиваться с границами мира или нет?

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1199)

bulletFrame : string | integer

Кадр текстуры, используемый пулями при отрисовке.
Изменение этого не влияет на летящие пули, только на недавно созданные.

Тип
  • string | integer
Исходный код: plugins/weapon/WeaponPlugin.js (Строка 221)

bulletFrameCycle : boolean

Если вы добавили набор кадров с помощью Weapon.setBulletFrames, то вы можете
выбрать, чтобы каждая выпущенная пуля использовала следующий кадр в наборе. Индекс кадра
затем увеличивается на один кадр, пока не достигнет конца набора, затем начинается
снова. Такое циклическое изменение кадров позволяет создавать различные эффекты пуль
с помощью спрайт-листов.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 129)

bulletFrameRandom : boolean

Если вы добавили набор кадров с помощью Weapon.setBulletFrames, то вы можете по желанию
выбирать для каждого выстреленного снаряда случайный кадр из набора.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 119)

<internal> bulletFrames : Array

Этот массив хранит кадры, добавленные с помощью Weapon.setBulletFrames.

Внутреннее:
  • Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
Исходный код: plugins/weapon/WeaponPlugin.js (Строка 282)

bulletGravity : Phaser.Point

Это количество гравитации, добавляемое к физическому телу снарядов при выстреле.
Гравитация выражается в пикселях / секунда / секунда.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 199)

bulletInheritSpriteSpeed : boolean

При выстреле снарядом он может по желанию унаследовать скорость trackedSprite, если это установлено.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 105)

bulletKey : string

Ключ текстуры, который используют снаряды при отрисовке.
Изменение этого не влияет на снаряды в процессе полёта, только на недавно созданные снаряды.

Source code: plugins/weapon/WeaponPlugin.js (Line 214)

bulletKillDistance : number

Если вы установили bulletKillType в Phaser.Weapon.KILL_DISTANCE, это контролирует расстояние,
которое Пуля может преодолеть, прежде чем будет автоматически уничтожена. Расстояние указано в пикселях.

Source code: plugins/weapon/WeaponPlugin.js (Line 192)

bulletKillType : integer

Это управляет тем, как будут уничтожаться пули. По умолчанию установлено Phaser.Weapon.KILL_WORLD_BOUNDS.

Доступны 7 различных "типов уничтожения":

  • Phaser.Weapon.KILL_NEVER
    Пули никогда не уничтожаются Оружием. Вам нужно уничтожить их самостоятельно с помощью собственного кода.

  • Phaser.Weapon.KILL_LIFESPAN
    Пули автоматически уничтожаются, когда их bulletLifespan срок истекает.

  • Phaser.Weapon.KILL_DISTANCE
    Пули автоматически уничтожаются, когда они удаляются на расстояние более bulletDistance пикселей от первоначальной точки выстрела.

  • Phaser.Weapon.KILL_WEAPON_BOUNDS
    Пули автоматически уничтожаются, когда они больше не пересекают Weapon.bounds прямоугольник.

  • Phaser.Weapon.KILL_CAMERA_BOUNDS
    Пули автоматически уничтожаются, когда они больше не пересекают Camera.bounds прямоугольник.

  • Phaser.Weapon.KILL_WORLD_BOUNDS
    Пули автоматически уничтожаются, когда они больше не пересекают World.bounds прямоугольник.

  • Phaser.Weapon.KILL_STATIC_BOUNDS
    Пули автоматически уничтожаются, когда они больше не пересекают Weapon.bounds прямоугольник.
    Разница между статическими границами и границами оружия в том, что статические границы никогда не будут
    настроены в соответствии с положением отслеживаемого спрайта или указателя.

Source code: plugins/weapon/WeaponPlugin.js (Line 1136)

bulletLifespan : number

Если вы установили bulletKillType на Phaser.Weapon.KILL_LIFESPAN, это управляет количеством
времени жизни Пули, установленного при запуске. Значение задается в миллисекундах.
Когда Пуля достигает предела времени жизни, она автоматически уничтожается.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 185)

bulletRotateToVelocity : boolean

Пули могут по желанию изменять свое вращение во время полета, чтобы соответствовать скорости.
Это может создать эффект «нацеливания» пули на путь ее движения, например,
стрелы, выпущенной из лука, и работает особенно хорошо, когда добавлено к bulletGravity.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 207)

bullets : Phaser.Group

Это Phaser.Group, содержащий все пули, управляемые этим плагином.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 39)

bulletSpeed : number

Скорость, с которой стреляются пули. Это значение задается в пикселях в секунду и
используется для установки начальной скорости пуль.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 169)

bulletSpeedVariance : number

Это отклонение, добавляемое к скорости Пули при стрельбе.
Если у пуль значение bulletSpeed равно 200, а bulletSpeedVariance равно 50
то фактическая скорость пуль будет находиться в диапазоне от 150 до 250 пикселей в секунду.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 177)

bulletWorldWrap : boolean

Должны ли Пули переходить через границы мира? Это автоматически вызывает
World.wrap для Пули в каждом кадре. Подробности см. в документации этого метода.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 136)

bulletWorldWrapPadding : integer

Если bulletWorldWrap равно true, то вы можете указать дополнительное значение отступа с помощью этого
свойства. Оно добавляется к расчётам, определяющим, когда Пуля должна переходить через
границы мира или нет. Значение задаётся в пикселях.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 144)

fireAngle : integer

Угол, под которым стреляются пули. Это может быть константа, такая как Phaser.ANGLE_UP
или любое число от 0 до 360 включительно, где 0 градусов соответствует направлению вправо.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 99)

fireFrom : Phaser.Rectangle

Это прямоугольник, изнутри которого стреляются пули. По умолчанию это прямоугольник 1x1,
эквивалентный точке. Но вы можете изменить ширину и высоту, и если
они больше 1x1, будет выбрана случайная точка внутри прямоугольника для выстрела пулей.

Source code: plugins/weapon/WeaponPlugin.js (Line 92)

fireLimit : number

Максимальное количество выстрелов, которое разрешено сделать этому оружию, прежде чем оно остановится.
Когда лимит достигнут, отправляется сигнал Weapon.onFireLimit.
Вы можете сбросить счетчик выстрелов с помощью Weapon.resetShots.

Source code: plugins/weapon/WeaponPlugin.js (Line 69)

fireRate : number

Скорость, с которой это оружие может стрелять. Значение задается в миллисекундах.

Source code: plugins/weapon/WeaponPlugin.js (Line 75)

fireRateVariance : number

Это модификатор, который добавляется к fireRate в каждом обновлении, чтобы добавить разнообразие
к скорости стрельбы оружия. Значение задается в миллисекундах.
Если у вас fireRate 200 и fireRateVariance 50, то фактическая
скорость стрельбы оружия будет находиться в диапазоне от 150 до 250.

Source code: plugins/weapon/WeaponPlugin.js (Line 84)

onFire : Phaser.Signal

Сигнал onFire отправляется каждый раз, когда Weapon.fire вызывается и пуля
успешно запущена. Обработчик устанавливается с двумя аргументами: ссылка на сам спрайт пули,
и ссылка на оружие, которое выстрелило пулей.

Source code: plugins/weapon/WeaponPlugin.js (Line 306)

onFireLimit : Phaser.Signal

Сигнал onFireLimit отправляется, если Weapon.fireLimit больше 0, и запуск пули приводит к тому, что количество выпущенных выстрелов достигает предела.
Обработчик получает два аргумента: ссылку на оружие, достигшее предела, и значение
Weapon.fireLimit.

Source code: plugins/weapon/WeaponPlugin.js (Line 325)

onKill : Phaser.Signal

Сигнал onKill отправляется каждый раз, когда пуля, находящаяся в полёте, уничтожается. Это может произойти в результате
выхода за пределы области действия оружия, истечения срока службы или превышения заданного расстояния.
Обработчик получает один аргумент: ссылку на сам спрайт пули.

Source code: plugins/weapon/WeaponPlugin.js (Line 315)

shots : number

Общее количество пуль, выпущенных этим оружием до настоящего момента.
Вы можете ограничить количество выстрелов (через fireLimit), и сбросить
этот итог через Weapon.resetShots.

Source code: plugins/weapon/WeaponPlugin.js (Line 61)

trackedPointer : Phaser.Pointer

Указатель, который в данный момент отслеживается оружием, если таковой имеется.
Это устанавливается через метод Weapon.trackPointer.

Source code: plugins/weapon/WeaponPlugin.js (Line 341)

trackedSprite : Phaser.Sprite | Object

Спрайт, который в данный момент отслеживается оружием, если таковой имеется.
Устанавливается с помощью метода Weapon.trackSprite.

Type
  • Phaser.Sprite | Object
Source code: plugins/weapon/WeaponPlugin.js (Line 333)

trackOffset : Phaser.Point

Смещение отслеживания — объект типа Point, позволяющий указать пиксельное смещение, используемое пулями
при запуске от отслеживаемого спрайта или указателя. Например, если у вас есть пуля размером 2x2 пикселя,
но вы отслеживаете спрайт размером 32x32, то вы можете установить trackOffset.x = 16, чтобы
пуля запускалась из центра спрайта.

Source code: plugins/weapon/WeaponPlugin.js (Line 360)

trackRotation : boolean

Если оружие отслеживает спрайт, должно ли оно также отслеживать вращение спрайта?
Это полезно для игры, такой как «Астероиды», где вы хотите, чтобы оружие стреляло, исходя
из вращения спрайта.

Source code: plugins/weapon/WeaponPlugin.js (Line 350)

x : number

Координата x, с которой запускаются пули. Это то же, что и Weapon.fireFrom.x, и
может быть переопределено аргументами Weapon.fire.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1224)

y : число

Координата y, из которой стреляют пули. Это то же самое, что и Weapon.fireFrom.y, и
может быть переопределено аргументами Weapon.fire.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1246)

Публичные методы

addBulletAnimation(name, frames, frameRate, loop, useNumericIndex) → {Phaser.Weapon}

Добавляет новую анимацию под заданным именем. При необходимости задайте кадры, частоту кадров и циклическое воспроизведение.
Аргументы аналогичны Animation.add, и работают таким же образом.

Weapon.bulletAnimation будет установлено на эту анимацию после её создания. С этого момента все
пули будут воспроизводиться с использованием этой анимации. Вы можете переключаться между анимациями, вызывая этот метод
несколько раз, а затем изменив свойство Weapon.bulletAnimation на имя анимации,
которую вы хотите воспроизвести для следующей выпущенной пули.

Если вы хотите прекратить использование анимаций, установите Weapon.bulletAnimation в '' (пустую строку).

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
name string

Уникальное (в пределах экземпляра Weapon) имя анимации, например, "fire", "blast".

frames Array <optional>
null

Массив чисел/строк, соответствующих кадрам, добавляемым в эту анимацию и их порядку. Например, [1, 2, 3] или ['run0', 'run1', run2]). Если null, будут использованы все кадры.

frameRate number <optional>
60

Скорость воспроизведения анимации. Скорость указывается в кадрах в секунду.

loop boolean <optional>
false

Циклическое воспроизведение анимации или однократное воспроизведение.

useNumericIndex boolean <optional>
true

Используются ли заданные кадры с числовыми индексами (по умолчанию) или строками?

Возвращаемое значение
Phaser.Weapon -

Плагин оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1048)

createBullets(quantity, key, frame, group) → {Phaser.Weapon}

Этот метод выполняет два действия: сначала он проверяет, существует ли группа Weapon.bullets, и если нет, создаёт её, добавляя её в group в качестве четвёртого аргумента.

Затем он заполняет пул пуль quantity пулями, используя предоставленный ключ текстуры и фрейм (если есть).

Например, если вы установите количество в 10, то это оружие сможет иметь только 10 пуль в полёте одновременно. Если вы попытаетесь выстрелить 11-й пулей, ничего не произойдёт, пока одна или несколько пуль в полёте не будут уничтожены, освободив их для повторного использования оружием.

Если вы не хотите устанавливать ограничение, передайте -1 в качестве значения количества. В этом случае оружие будет увеличивать размер пула пуль по мере необходимости. Однако размер пула никогда не уменьшится, поэтому будьте осторожны, чтобы он не стал слишком большим.

Вы можете установить ключ текстуры и фрейм здесь или с помощью свойств Weapon.bulletKey и Weapon.bulletFrame. Вы также можете анимировать пули или установить их на использование случайных фреймов. Однако все пули, принадлежащие одному экземпляру оружия, должны использовать один и тот же ключ текстуры.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
quantity целое число <необязательно>
1

Количество пуль, которыми нужно запустить оружие. Если -1, пул будет автоматически расширяться.

key строка <необязательно>

Ключ Game.cache для изображения, которое будет использоваться этим Sprite.

frame целое число | строка <необязательно>

Если изображение Sprite содержит несколько кадров, вы можете указать, какой использовать здесь.

group Phaser.Group <необязательно>

Необязательная группа, в которую добавить объект. Если не указано, он будет добавлен в группу World.

Возвращаемое значение
Phaser.Weapon -

Экземпляр этого оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 433)

debug(x, y, debugBodies)

Использует Game.Debug для отображения полезной информации об этом оружии, включая количество пуль
в полете и доступных. И необязательно, физические отладочные тела пуль.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
x целое число <необязательно>
16

Координата в пространстве экрана, в которой нужно отобразить отладочные данные оружия.

y целое число <необязательно>
32

Координата в пространстве экрана, в которой нужно отобразить отладочные данные оружия.

debugBodies логическое значение <необязательно>
false

Необязательно отобразить физическое тело каждого летящего снаряда.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1086)

destroy()

Уничтожает это оружие. Оно удаляется из PluginManager, уничтожает группу снарядов и обнуляет внутренние ссылки.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 579)

fire(from, x, y) → {Phaser.Bullet}

Попытка выстрелить одной пулей. Если в пуле нет больше пуль, и пул нельзя расширить,
то этот метод возвращает false. Он также вернет false, если не прошло достаточно времени с момента последнего
выстрела оружием, как определено в свойстве Weapon.fireRate.

В противном случае выбирается первая доступная пуля и запускается.

Все аргументы являются необязательными, но позволяют управлять как местом запуска пули, так и целью.

Если вы не предоставите ни одного из аргументов, будут использованы значения, установленные через свойства, такие как Weapon.trackedSprite,
Weapon.bulletAngle и так далее.

При запуске пули ее текстура и кадр обновляются, как требуется. Скорость пули рассчитывается на основе свойств оружия, таких как bulletSpeed.

Параметры
Имя Тип Аргумент Описание
from Phaser.Sprite | Phaser.Point | Object <optional>

Необязательно запускает пулю из свойств x и y этого объекта. Если установлено, это переопределяет Weapon.trackedSprite или trackedPointer. Передайте null, чтобы проигнорировать это.

x number <optional>

Координата x, в пространстве мира, для запуска пули по направлению к. Если оставлено значение undefined, направление пули определяется по ее углу.

y number <optional>

Координата y, в пространстве мира, для запуска пули по направлению к. Если оставлено значение undefined, направление пули определяется по ее углу.

Возвращаемое значение
Phaser.Bullet -

Запущенная пуля, если операция выполнена успешно, в противном случае null.

Source code: plugins/weapon/WeaponPlugin.js (Line 691)

fireAtPointer(pointer) → {Phaser.Bullet}

Выстреливает пулю в указанный указатель. Пуля будет запущена из позиции Weapon.fireFrom,
или из отслеживаемого спрайта или указателя, если у вас есть один.

Parameters
Name Type Argument Description
pointer Phaser.Pointer <optional>

Указатель, в сторону которого будет выстрелена пуля.

Returns
Phaser.Bullet -

Выпущенная пуля, если операция выполнена успешно, в противном случае null.

Source code: plugins/weapon/WeaponPlugin.js (Line 928)

fireAtSprite(sprite) → {Phaser.Bullet}

Выстреливает пулю в данный спрайт. Пуля будет запущена из позиции Weapon.fireFrom,
или из отслеживаемого спрайта или указателя, если у вас есть один.

Parameters
Name Type Argument Description
sprite Phaser.Sprite <optional>

Спрайт, в сторону которого будет выстрелена пуля.

Returns
Phaser.Bullet -

Выпущенная пуля, если операция выполнена успешно, в противном случае null.

Source code: plugins/weapon/WeaponPlugin.js (Line 944)

fireAtXY(x, y) → {Phaser.Bullet}

Выстреливает пулю в заданные координаты. Пуля будет запущена из Weapon.fireFrom позиции,
или с отслеживаемого спрайта или указателя, если они установлены.

Параметры
Имя Тип Аргумент Описание
x число <необязательно>

Координата x, в глобальном пространстве, в которую нужно выстрелить пулей.

y число <необязательно>

Координата y, в глобальном пространстве, в которую нужно выстрелить пулей.

Возвращаемое значение
Phaser.Bullet -

Выпущенная пуля, если операция выполнена успешно, в противном случае null.

Source code: plugins/weapon/WeaponPlugin.js (Line 958)

forEach(callback, callbackContext, args) → {Phaser.Weapon}

Вызывает функцию для каждой летящей пули в данном оружии.

См. forEachExists для получения дополнительной информации.

Параметры
Имя Тип Аргумент По умолчанию Описание
callback функция

Функция, которая будет вызываться для каждого соответствующего дочернего элемента. Дочерний элемент будет передан в качестве первого аргумента.

callbackContext объект

Контекст, в котором функция должна быть вызвана (обычно 'this').

args любое <необязательно>
<повторяется>
(нет)

Дополнительные аргументы для передачи функции обратного вызова после элемента дочернего элемента.

Возвращает
Phaser.Weapon -

Этот экземпляр Weapon.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 490)

killAll() → {Phaser.Weapon}

Вызывает Bullet.kill для каждой пули в этом оружии.
Также снова включает физические тела, если они были отключены с помощью pauseAll.

Возвращает
Phaser.Weapon -

Этот экземпляр Weapon.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 541)

pauseAll() → {Phaser.Weapon}

Устанавливает Body.enable в false для каждой пули в этом оружии.
Это останавливает их полёт, если они двигались.
Это также останавливает проверку столкновений.

Возвращаемое значение
Phaser.Weapon -

Экземпляр этого оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 509)

resetShots(newLimit) → {Phaser.Weapon}

Сбрасывает счётчик Weapon.shots обратно к нулю. Используется, когда вы установили
Weapon.fireLimit, и достигли (или хотите сбросить) предел.

Параметры
Имя Тип Аргумент Описание
newLimit integer <optional>

Необязательно установите новый Weapon.fireLimit.

Возвращаемое значение
Phaser.Weapon -

Экземпляр этого оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 558)

resumeAll() → {Phaser.Weapon}

Устанавливает Body.enable в true для каждой пули в этом оружии.
Это возобновляет их движение, если они находятся в полёте.
Также позволяет снова проверять столкновения.

Возвращаемое значение
Phaser.Weapon -

Экземпляр этого оружия.

Source code: plugins/weapon/WeaponPlugin.js (Line 525)

setBulletBodyOffset(width, height, offsetX, offsetY) → {Phaser.Weapon}

Можно изменить размер физического тела пули на любой размер, который вам нужен.
Это позволяет сделать его меньше или больше, чем родительский спрайт.
Вы также можете контролировать смещение x и y тела. Это положение
тела относительно верхнего левого угла текстуры спрайта.

Например: если у вас есть спрайт с текстурой размером 80x100,
и вы хотите, чтобы физическое тело было размером 32x32 пикселя в середине текстуры, вы бы сделали:

setSize(32, 32, 24, 34)

Где первые два параметра — новый размер тела (32x32 пикселя).
24 — горизонтальное смещение тела от верхнего левого угла текстуры спрайта, а 34
— вертикальное смещение.

Параметры
Имя Тип Аргумент Описание
width number

Ширина тела.

height number

Высота тела.

offsetX number <optional>

Смещение X тела от верхнего левого угла текстуры спрайта.

offsetY number <optional>

Смещение Y тела от верхнего левого угла текстуры спрайта.

Возвращаемое значение
Phaser.Weapon -

Плагин оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 973)

setBulletFrames(min, max, cycle, random) → {Phaser.Weapon}

Устанавливает текстурные кадры, которые могут использоваться пулями при запуске.

Это предназначено для использования в тех случаях, когда у вас есть кадры, основанные на числах, такие как загруженные через Sprite Sheet.

Это работает, вызывая Phaser.ArrayUtils.numberArray внутри, используя значения min и max.
Затем устанавливает индекс кадра в ноль.

Вы можете дополнительно установить логические значения cycle и random, чтобы разрешить пулям циклически проходить через кадры
при выстреле или выбирать один случайным образом.

Параметры
Имя Тип Аргумент По умолчанию Описание
min целое число

Минимальное значение кадра. Обычно ноль.

max целое число

Максимальное значение кадра.

cycle логическое значение <необязательно>
true

Должны ли кадры пуль циклически сменяться при выстреле?

random логическое значение <необязательно>
false

Должны ли кадры пуль выбираться случайным образом при выстреле?

Возвращаемое значение
Phaser.Weapon -

Плагин Weapon.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1014)

trackPointer(pointer, offsetX, offsetY) → {Phaser.Weapon}

Устанавливает данное оружие для отслеживания указанного указателя.
Когда оружие отслеживает указатель, оно автоматически обновляет свое значение fireFrom для соответствия положению указателя
в игровом мире, корректируя координаты на основе аргументов смещения.

Это позволяет зафиксировать оружие на указателе, чтобы пули всегда запускались из его местоположения.

Вызов trackPointer сбросит Weapon.trackedSprite до null, если он был установлен, так как вы можете
отслеживать либо указатель, либо спрайт, но не оба одновременно.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
pointer Phaser.Pointer <optional>

Указатель, позиция которого должна отслеживаться. По умолчанию Input.activePointer, если не указано.

offsetX целое число <optional>
0

Горизонтальное смещение от позиции указателя, применяемое к оружию.

offsetY целое число <optional>
0

Вертикальное смещение от позиции указателя, применяемое к оружию.

Возвращаемое значение
Phaser.Weapon -

Экземпляр данного оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 659)

trackSprite(sprite, offsetX, offsetY, trackRotation) → {Phaser.Weapon}

Устанавливает данное оружие для отслеживания заданного спрайта или любого объекта с общедоступным объектом точки.
Когда оружие отслеживает спрайт, оно автоматически обновляет значение fireFrom для соответствия позиции спрайта в игровом мире, корректируя координаты на основе аргументов смещения.

Это позволяет зафиксировать оружие на спрайте, так что пули всегда запускаются из его местоположения.

Вызов trackSprite сбросит значение Weapon.trackedPointer до null, если оно было установлено, поскольку можно отслеживать либо спрайт, либо указатель, но не оба одновременно.

Параметры
Имя Тип Аргумент Значение по умолчанию Описание
sprite Phaser.Sprite | Object

Спрайт, позицию которого следует отслеживать.

offsetX integer <optional>
0

Горизонтальное смещение от позиции спрайта, применяемое к оружию.

offsetY integer <optional>
0

Вертикальное смещение от позиции спрайта, применяемое к оружию.

trackRotation boolean <optional>
false

Следует ли оружию также отслеживать поворот спрайта?

Возвращает
Phaser.Weapon -

Этот экземпляр оружия.

Исходный код: plugins/weapon/WeaponPlugin.js (Строка 626)

<internal> update()

Внутренний метод обновления, вызываемый PluginManager.

Внутренний:
  • Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
Исходный код: plugins/weapon/WeaponPlugin.js (Строка 598)

© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Weapon.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API