Класс: 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)
Общедоступные свойства
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 417)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 403)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 395)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 388)
[static] KILL_CAMERA_BOUNDS : integer
Постоянная bulletKillType, которая автоматически уничтожает пули, когда они покидают Camera.bounds прямоугольник.
[static] KILL_DISTANCE : integer
Постоянная bulletKillType, которая автоматически уничтожает пули, после того, как они
превышают bulletDistance от их исходной позиции выстрела.
[static] KILL_LIFESPAN : integer
Постоянная bulletKillType, которая автоматически уничтожает пули, когда их bulletLifespan истекает.
[static] KILL_NEVER : integer
Постоянная bulletKillType, которая останавливает автоматическое уничтожение пуль.
[static] KILL_STATIC_BOUNDS : integer
Постоянная bulletKillType, которая автоматически уничтожает пули, когда они покидают Weapon.bounds прямоугольник.
- Source code: plugins/weapon/WeaponPlugin.js (Line 431)
- Source code: plugins/weapon/WeaponPlugin.js (Line 410)
- Source code: plugins/weapon/WeaponPlugin.js (Line 424)
- Source code: plugins/weapon/WeaponPlugin.js (Line 46)
- Source code: plugins/weapon/WeaponPlugin.js (Line 53)
[static] KILL_WEAPON_BOUNDS : integer
A bulletKillType константа, которая автоматически уничтожает пули, когда они покидают Weapon.bounds прямоугольник.
[static] KILL_WORLD_BOUNDS : integer
A bulletKillType константа, которая автоматически уничтожает пули, когда они покидают World.bounds прямоугольник.
autoExpandBulletsGroup : boolean
Если пул пуль иссякнет (то есть все пули находятся в полёте), то этот
boolean контролирует, создаст ли группа новый объект пули или нет.
autofire : boolean
Будет ли данное оружие стрелять автоматически? Если установлено в true, то новая пуля будет выстрелена
в соответствии с fireRate значением.
bounds : Phaser.Rectangle
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 266)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 153)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 162)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 112)
Этот прямоугольник определяет границы, используемые для определения, следует ли уничтожать пулю.
Он используется в сочетании с Weapon.bulletKillType, когда он установлен на Phaser.Weapon.KILL_WEAPON_BOUNDS,
или Phaser.Weapon.KILL_STATIC_BOUNDS. Если вы не используете ни один из этих типов уничтожения, границы игнорируются.
Если вы отслеживаете спрайт или точку, то границы центрируются на этом объекте каждый кадр.
bulletAngleOffset : number
Дополнительный смещение угла, применяемое к пулям при их запуске.
Это полезно, например, если ваши спрайты пуль были нарисованы, ориентированные вверх, а не
вправо, и вы хотите стрелять под углом. В этом случае вы можете установить
смещение угла в 90, и они будут правильно повернуты при выстреле.
bulletAngleVariance : number
Это отклонение, добавляемое к углу пуль при их выстреле.
Если вы стреляете под углом 90 и у вас есть bulletAngleVariance 20, то фактический
угол пуль будет находиться между 70 и 110 градусами. Это быстрый способ добавить
эффект «разброса» к оружию.
bulletAnimation : string
Строковое имя анимации, которая будет применена к пуле при запуске.
Это устанавливается через Weapon.addBulletAnimation.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1111)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1199)
- string | integer
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 221)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 129)
bulletClass : Object
Класс пуль, которые запускаются этим оружием. По умолчанию Phaser.Bullet, но может быть
изменён перед вызовом createBullets и задан вашим собственным типом класса.
bulletCollideWorldBounds : boolean
Пули должны сталкиваться с границами мира или нет?
bulletFrame : string | integer
Кадр текстуры, используемый пулями при отрисовке.
Изменение этого не влияет на летящие пули, только на недавно созданные.
Тип
bulletFrameCycle : boolean
Если вы добавили набор кадров с помощью Weapon.setBulletFrames, то вы можете
выбрать, чтобы каждая выпущенная пуля использовала следующий кадр в наборе. Индекс кадра
затем увеличивается на один кадр, пока не достигнет конца набора, затем начинается
снова. Такое циклическое изменение кадров позволяет создавать различные эффекты пуль
с помощью спрайт-листов.
bulletFrameRandom : boolean
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 119)
- Внутреннее:
- Этот член является внутренним (защищенным) и может быть изменен или удален в будущем.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 282)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 199)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 105)
Если вы добавили набор кадров с помощью Weapon.setBulletFrames, то вы можете по желанию
выбирать для каждого выстреленного снаряда случайный кадр из набора.
<internal> bulletFrames : Array
Этот массив хранит кадры, добавленные с помощью Weapon.setBulletFrames.
bulletGravity : Phaser.Point
Это количество гравитации, добавляемое к физическому телу снарядов при выстреле.
Гравитация выражается в пикселях / секунда / секунда.
bulletInheritSpriteSpeed : boolean
При выстреле снарядом он может по желанию унаследовать скорость trackedSprite, если это установлено.
bulletKey : string
Ключ текстуры, который используют снаряды при отрисовке.
Изменение этого не влияет на снаряды в процессе полёта, только на недавно созданные снаряды.
- Source code: plugins/weapon/WeaponPlugin.js (Line 214)
- Source code: plugins/weapon/WeaponPlugin.js (Line 192)
-
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)
bulletKillDistance : number
Если вы установили bulletKillType в Phaser.Weapon.KILL_DISTANCE, это контролирует расстояние,
которое Пуля может преодолеть, прежде чем будет автоматически уничтожена. Расстояние указано в пикселях.
bulletKillType : integer
Это управляет тем, как будут уничтожаться пули. По умолчанию установлено Phaser.Weapon.KILL_WORLD_BOUNDS.
Доступны 7 различных "типов уничтожения":
bulletLifespan : number
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 185)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 207)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 39)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 169)
Если вы установили bulletKillType на Phaser.Weapon.KILL_LIFESPAN, это управляет количеством
времени жизни Пули, установленного при запуске. Значение задается в миллисекундах.
Когда Пуля достигает предела времени жизни, она автоматически уничтожается.
bulletRotateToVelocity : boolean
Пули могут по желанию изменять свое вращение во время полета, чтобы соответствовать скорости.
Это может создать эффект «нацеливания» пули на путь ее движения, например,
стрелы, выпущенной из лука, и работает особенно хорошо, когда добавлено к bulletGravity.
bullets : Phaser.Group
Это Phaser.Group, содержащий все пули, управляемые этим плагином.
bulletSpeed : number
Скорость, с которой стреляются пули. Это значение задается в пикселях в секунду и
используется для установки начальной скорости пуль.
bulletSpeedVariance : number
Это отклонение, добавляемое к скорости Пули при стрельбе.
Если у пуль значение bulletSpeed равно 200, а bulletSpeedVariance равно 50
то фактическая скорость пуль будет находиться в диапазоне от 150 до 250 пикселей в секунду.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 177)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 136)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 144)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 99)
bulletWorldWrap : boolean
Должны ли Пули переходить через границы мира? Это автоматически вызываетWorld.wrap для Пули в каждом кадре. Подробности см. в документации этого метода.
bulletWorldWrapPadding : integer
Если bulletWorldWrap равно true, то вы можете указать дополнительное значение отступа с помощью этого
свойства. Оно добавляется к расчётам, определяющим, когда Пуля должна переходить через
границы мира или нет. Значение задаётся в пикселях.
fireAngle : integer
Угол, под которым стреляются пули. Это может быть константа, такая как Phaser.ANGLE_UP
или любое число от 0 до 360 включительно, где 0 градусов соответствует направлению вправо.
fireFrom : Phaser.Rectangle
Это прямоугольник, изнутри которого стреляются пули. По умолчанию это прямоугольник 1x1,
эквивалентный точке. Но вы можете изменить ширину и высоту, и если
они больше 1x1, будет выбрана случайная точка внутри прямоугольника для выстрела пулей.
- Source code: plugins/weapon/WeaponPlugin.js (Line 92)
- Source code: plugins/weapon/WeaponPlugin.js (Line 69)
- Source code: plugins/weapon/WeaponPlugin.js (Line 75)
- Source code: plugins/weapon/WeaponPlugin.js (Line 84)
fireLimit : number
Максимальное количество выстрелов, которое разрешено сделать этому оружию, прежде чем оно остановится.
Когда лимит достигнут, отправляется сигнал Weapon.onFireLimit.
Вы можете сбросить счетчик выстрелов с помощью Weapon.resetShots.
fireRate : number
Скорость, с которой это оружие может стрелять. Значение задается в миллисекундах.
fireRateVariance : number
Это модификатор, который добавляется к fireRate в каждом обновлении, чтобы добавить разнообразие
к скорости стрельбы оружия. Значение задается в миллисекундах.
Если у вас fireRate 200 и fireRateVariance 50, то фактическая
скорость стрельбы оружия будет находиться в диапазоне от 150 до 250.
onFire : Phaser.Signal
Сигнал onFire отправляется каждый раз, когда Weapon.fire вызывается и пуля
успешно запущена. Обработчик устанавливается с двумя аргументами: ссылка на сам спрайт пули,
и ссылка на оружие, которое выстрелило пулей.
- Source code: plugins/weapon/WeaponPlugin.js (Line 306)
- Source code: plugins/weapon/WeaponPlugin.js (Line 325)
- Source code: plugins/weapon/WeaponPlugin.js (Line 315)
- Source code: plugins/weapon/WeaponPlugin.js (Line 61)
onFireLimit : Phaser.Signal
Сигнал onFireLimit отправляется, если Weapon.fireLimit больше 0, и запуск пули приводит к тому, что количество выпущенных выстрелов достигает предела.
Обработчик получает два аргумента: ссылку на оружие, достигшее предела, и значениеWeapon.fireLimit.
onKill : Phaser.Signal
Сигнал onKill отправляется каждый раз, когда пуля, находящаяся в полёте, уничтожается. Это может произойти в результате
выхода за пределы области действия оружия, истечения срока службы или превышения заданного расстояния.
Обработчик получает один аргумент: ссылку на сам спрайт пули.
shots : number
Общее количество пуль, выпущенных этим оружием до настоящего момента.
Вы можете ограничить количество выстрелов (через fireLimit), и сбросить
этот итог через Weapon.resetShots.
trackedPointer : Phaser.Pointer
Указатель, который в данный момент отслеживается оружием, если таковой имеется.
Это устанавливается через метод Weapon.trackPointer.
- Source code: plugins/weapon/WeaponPlugin.js (Line 341)
- Phaser.Sprite | Object
- Source code: plugins/weapon/WeaponPlugin.js (Line 333)
- Source code: plugins/weapon/WeaponPlugin.js (Line 360)
- Source code: plugins/weapon/WeaponPlugin.js (Line 350)
trackedSprite : Phaser.Sprite | Object
Спрайт, который в данный момент отслеживается оружием, если таковой имеется.
Устанавливается с помощью метода Weapon.trackSprite.
Type
trackOffset : Phaser.Point
Смещение отслеживания — объект типа Point, позволяющий указать пиксельное смещение, используемое пулями
при запуске от отслеживаемого спрайта или указателя. Например, если у вас есть пуля размером 2x2 пикселя,
но вы отслеживаете спрайт размером 32x32, то вы можете установить trackOffset.x = 16, чтобы
пуля запускалась из центра спрайта.
trackRotation : boolean
Если оружие отслеживает спрайт, должно ли оно также отслеживать вращение спрайта?
Это полезно для игры, такой как «Астероиды», где вы хотите, чтобы оружие стреляло, исходя
из вращения спрайта.
x : number
Координата x, с которой запускаются пули. Это то же, что и Weapon.fireFrom.x, и
может быть переопределено аргументами Weapon.fire.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1224)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1246)
y : число
Координата y, из которой стреляют пули. Это то же самое, что и Weapon.fireFrom.y, и
может быть переопределено аргументами Weapon.fire.
Публичные методы
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 | Используются ли заданные кадры с числовыми индексами (по умолчанию) или строками? |
Возвращаемое значение
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1048)
Плагин оружия.
createBullets(quantity, key, frame, group) → {Phaser.Weapon}
Этот метод выполняет два действия: сначала он проверяет, существует ли группа Weapon.bullets, и если нет, создаёт её, добавляя её в group в качестве четвёртого аргумента.
Затем он заполняет пул пуль quantity пулями, используя предоставленный ключ текстуры и фрейм (если есть).
Например, если вы установите количество в 10, то это оружие сможет иметь только 10 пуль в полёте одновременно. Если вы попытаетесь выстрелить 11-й пулей, ничего не произойдёт, пока одна или несколько пуль в полёте не будут уничтожены, освободив их для повторного использования оружием.
Если вы не хотите устанавливать ограничение, передайте -1 в качестве значения количества. В этом случае оружие будет увеличивать размер пула пуль по мере необходимости. Однако размер пула никогда не уменьшится, поэтому будьте осторожны, чтобы он не стал слишком большим.
Вы можете установить ключ текстуры и фрейм здесь или с помощью свойств Weapon.bulletKey и Weapon.bulletFrame. Вы также можете анимировать пули или установить их на использование случайных фреймов. Однако все пули, принадлежащие одному экземпляру оружия, должны использовать один и тот же ключ текстуры.
Параметры
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 433)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
quantity | целое число | <необязательно> | 1 | Количество пуль, которыми нужно запустить оружие. Если -1, пул будет автоматически расширяться. |
key | строка | <необязательно> | Ключ Game.cache для изображения, которое будет использоваться этим Sprite. | |
frame | целое число | строка | <необязательно> | Если изображение Sprite содержит несколько кадров, вы можете указать, какой использовать здесь. | |
group | Phaser.Group | <необязательно> | Необязательная группа, в которую добавить объект. Если не указано, он будет добавлен в группу World. |
Возвращаемое значение
Экземпляр этого оружия.
debug(x, y, debugBodies)
Использует Game.Debug для отображения полезной информации об этом оружии, включая количество пуль
в полете и доступных. И необязательно, физические отладочные тела пуль.
Параметры
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1086)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 579)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x | целое число | <необязательно> | 16 | Координата в пространстве экрана, в которой нужно отобразить отладочные данные оружия. |
y | целое число | <необязательно> | 32 | Координата в пространстве экрана, в которой нужно отобразить отладочные данные оружия. |
debugBodies | логическое значение | <необязательно> | false | Необязательно отобразить физическое тело каждого летящего снаряда. |
destroy()
Уничтожает это оружие. Оно удаляется из PluginManager, уничтожает группу снарядов и обнуляет внутренние ссылки.
fire(from, x, y) → {Phaser.Bullet}
Попытка выстрелить одной пулей. Если в пуле нет больше пуль, и пул нельзя расширить,
то этот метод возвращает false. Он также вернет false, если не прошло достаточно времени с момента последнего
выстрела оружием, как определено в свойстве Weapon.fireRate.
В противном случае выбирается первая доступная пуля и запускается.
Все аргументы являются необязательными, но позволяют управлять как местом запуска пули, так и целью.
Если вы не предоставите ни одного из аргументов, будут использованы значения, установленные через свойства, такие как Weapon.trackedSprite,Weapon.bulletAngle и так далее.
При запуске пули ее текстура и кадр обновляются, как требуется. Скорость пули рассчитывается на основе свойств оружия, таких как bulletSpeed.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
from | Phaser.Sprite | Phaser.Point | Object | <optional> | Необязательно запускает пулю из свойств |
x | number | <optional> | Координата x, в пространстве мира, для запуска пули по направлению к. Если оставлено значение |
y | number | <optional> | Координата y, в пространстве мира, для запуска пули по направлению к. Если оставлено значение |
Возвращаемое значение
Запущенная пуля, если операция выполнена успешно, в противном случае null.
- Source code: plugins/weapon/WeaponPlugin.js (Line 691)
- Source code: plugins/weapon/WeaponPlugin.js (Line 928)
fireAtPointer(pointer) → {Phaser.Bullet}
Выстреливает пулю в указанный указатель. Пуля будет запущена из позиции Weapon.fireFrom,
или из отслеживаемого спрайта или указателя, если у вас есть один.
Parameters
| Name | Type | Argument | Description |
|---|---|---|---|
pointer | Phaser.Pointer | <optional> | Указатель, в сторону которого будет выстрелена пуля. |
Returns
Выпущенная пуля, если операция выполнена успешно, в противном случае null.
fireAtSprite(sprite) → {Phaser.Bullet}
Выстреливает пулю в данный спрайт. Пуля будет запущена из позиции Weapon.fireFrom,
или из отслеживаемого спрайта или указателя, если у вас есть один.
Parameters
| Name | Type | Argument | Description |
|---|---|---|---|
sprite | Phaser.Sprite | <optional> | Спрайт, в сторону которого будет выстрелена пуля. |
Returns
Выпущенная пуля, если операция выполнена успешно, в противном случае null.
- Source code: plugins/weapon/WeaponPlugin.js (Line 944)
- Source code: plugins/weapon/WeaponPlugin.js (Line 958)
fireAtXY(x, y) → {Phaser.Bullet}
Выстреливает пулю в заданные координаты. Пуля будет запущена из Weapon.fireFrom позиции,
или с отслеживаемого спрайта или указателя, если они установлены.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | <необязательно> | Координата x, в глобальном пространстве, в которую нужно выстрелить пулей. |
y | число | <необязательно> | Координата y, в глобальном пространстве, в которую нужно выстрелить пулей. |
Возвращаемое значение
Выпущенная пуля, если операция выполнена успешно, в противном случае null.
forEach(callback, callbackContext, args) → {Phaser.Weapon}
Вызывает функцию для каждой летящей пули в данном оружии.
См. forEachExists для получения дополнительной информации.
Параметры
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 490)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 541)
| Имя | Тип | Аргумент | По умолчанию | Описание |
|---|---|---|---|---|
callback | функция | Функция, которая будет вызываться для каждого соответствующего дочернего элемента. Дочерний элемент будет передан в качестве первого аргумента. | ||
callbackContext | объект | Контекст, в котором функция должна быть вызвана (обычно 'this'). | ||
args | любое | <необязательно> <повторяется> | (нет) | Дополнительные аргументы для передачи функции обратного вызова после элемента дочернего элемента. |
Возвращает
Этот экземпляр Weapon.
killAll() → {Phaser.Weapon}
Вызывает Bullet.kill для каждой пули в этом оружии.
Также снова включает физические тела, если они были отключены с помощью pauseAll.
Возвращает
Этот экземпляр Weapon.
pauseAll() → {Phaser.Weapon}
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 509)
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 558)
Устанавливает Body.enable в false для каждой пули в этом оружии.
Это останавливает их полёт, если они двигались.
Это также останавливает проверку столкновений.
Возвращаемое значение
Экземпляр этого оружия.
resetShots(newLimit) → {Phaser.Weapon}
Сбрасывает счётчик Weapon.shots обратно к нулю. Используется, когда вы установилиWeapon.fireLimit, и достигли (или хотите сбросить) предел.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
newLimit | integer | <optional> | Необязательно установите новый |
Возвращаемое значение
Экземпляр этого оружия.
resumeAll() → {Phaser.Weapon}
Устанавливает Body.enable в true для каждой пули в этом оружии.
Это возобновляет их движение, если они находятся в полёте.
Также позволяет снова проверять столкновения.
Возвращаемое значение
Экземпляр этого оружия.
- 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 тела от верхнего левого угла текстуры спрайта. |
Возвращаемое значение
Плагин оружия.
- Исходный код: 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 | Должны ли кадры пуль выбираться случайным образом при выстреле? |
Возвращаемое значение
Плагин Weapon.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 1014)
trackPointer(pointer, offsetX, offsetY) → {Phaser.Weapon}
Устанавливает данное оружие для отслеживания указанного указателя.
Когда оружие отслеживает указатель, оно автоматически обновляет свое значение fireFrom для соответствия положению указателя
в игровом мире, корректируя координаты на основе аргументов смещения.
Это позволяет зафиксировать оружие на указателе, чтобы пули всегда запускались из его местоположения.
Вызов trackPointer сбросит Weapon.trackedSprite до null, если он был установлен, так как вы можете
отслеживать либо указатель, либо спрайт, но не оба одновременно.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
pointer | Phaser.Pointer | <optional> | Указатель, позиция которого должна отслеживаться. По умолчанию | |
offsetX | целое число | <optional> | 0 | Горизонтальное смещение от позиции указателя, применяемое к оружию. |
offsetY | целое число | <optional> | 0 | Вертикальное смещение от позиции указателя, применяемое к оружию. |
Возвращаемое значение
Экземпляр данного оружия.
- Исходный код: 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 | Следует ли оружию также отслеживать поворот спрайта? |
Возвращает
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 626)
- Внутренний:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: plugins/weapon/WeaponPlugin.js (Строка 598)
Этот экземпляр оружия.
<internal> update()
Внутренний метод обновления, вызываемый PluginManager.
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Weapon.html