Richard Davey
15c58bc71c
Added maxAliveParticles
...
`maxAliveParticles` is a new Particle Emitter config property that sets the maximum number of _alive_ particles the emitter is allowed to update. When this limit is reached a particle will have to die before another can be spawned.
2022-07-12 16:28:12 +01:00
Jonah Jeleniewski
e8c8be0385
Let texture scaleMode
override the antialias
setting under CANVAS
2022-06-11 18:07:29 +10:00
samme
f393cb9c43
Allow particle frequency smaller than delta
2022-05-30 10:55:30 -07:00
Richard Davey
a4d8e87095
Fixed lint errors
2022-05-10 17:06:53 +01:00
Richard Davey
919fa39faa
Merge pull request #6067 from TJ09/commonjs-import-change
...
Don't reassign the return values from require()
2022-05-09 16:49:58 +01:00
Richard Davey
da9296eae7
Merge pull request #6038 from samme/patch-10
...
Docs: correct args in ParticleEmitter#explode()
2022-04-14 15:40:20 +01:00
Richard Davey
4b752aad2e
Merge pull request #6061 from samme/misc/opt-particle-moveTo
...
Simplify the particle moveTo calculations
2022-04-14 15:39:28 +01:00
Richard Davey
fb6f9d370b
Merge pull request #6060 from samme/feature/particle-moveTo-zero
...
Allow moving particles to (0, 0)
2022-04-14 15:37:55 +01:00
samme
0b6d26b114
Docs: clarify ParticleEmitter#moveTo
...
#6046
2022-04-08 09:55:42 -07:00
T.J. L
ff4ef2872b
Don't overwrite the return values from require()
2022-04-02 01:49:19 -07:00
samme
d083179cbb
Allow moving particles to (0, 0)
...
moveToX and moveToY are initialized to null instead of 0
2022-03-29 18:20:26 -07:00
samme
8b70cf643d
Simplify the moveTo calculation
2022-03-25 11:24:59 -07:00
samme
0e22b0ecd6
Docs: correct args in ParticleEmitter#explode()
...
All arguments are optional
2022-03-11 14:00:05 -08:00
Richard Davey
59fbcc5ca3
Updated copyright year
2022-02-28 14:29:51 +00:00
Richard Davey
7aa7187a0f
Merge pull request #5870 from samme/docs/class-types
...
Add GroupClassTypeConstructor and ParticleClassConstructor types
2022-02-28 13:53:39 +00:00
Richard Davey
a4308cfa3a
Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951
2022-02-03 16:44:24 +00:00
Richard Davey
20d4391c29
Calling ParticleEmitter.setScale
would set the scaleY
property to null
, causing calls to setScaleY
to throw a runtime error. scaleY
is now a required property across both the Particle and Emitter classes and all of the conditional checks for it have been removed
2021-10-28 15:01:51 +01:00
samme
ba5e4ffab7
Docs: add Phaser.Types.GameObjects.Particles.ParticleClassConstructor
...
Fixes #5731 ?
2021-10-13 13:23:31 -07:00
Richard Davey
cca537b66b
Merge pull request #5841 from samme/feature/warn-particle-missing-frame
...
Warn, throw for particle texture frame mistakes
2021-09-24 14:38:20 +01:00
samme
023336f826
Throw an error for missing particle texture frame
2021-09-23 11:15:58 -07:00
samme
da86ea7029
Warn for missing texture frames
2021-09-23 11:15:29 -07:00
Richard Davey
93db763f69
Merge pull request #5340 from 16patsle/Fix_object_types
...
Add more specific 'object' types, including GO Configs
2021-09-23 15:30:43 +01:00
Emil Schnedler Vad
9fa971902b
fixed type of ParticleEmitterConfig deathCallback to function
2021-05-24 16:42:01 +02:00
samme
3248971411
Fix wrong particle follow position
...
Fixes #5457
2021-02-21 11:30:32 -08:00
Richard Davey
1c8662dc1f
Call addToRenderList
2021-01-07 14:52:08 +00:00
Richard Davey
00d8b6a009
Invoke camera.addToRenderList
method
2021-01-07 12:31:31 +00:00
Richard Davey
e08b5386dd
Removed follow from render code
2020-12-14 11:51:16 +00:00
Richard Davey
7ff4c5958b
Fire particle from follower position. Fix #5437
2020-12-14 11:46:19 +00:00
Richard Davey
59e89fa788
All Game Objects will now listen for ADDED_TO_SCENE and REMOVED_FROM_SCENE events and call the handlers. Therefore, removed GO specific implementations.
2020-12-11 11:44:21 +00:00
Patrick Sletvold
d327a4da34
Add Config types for ParticleEmitterManager and Mesh
2020-12-10 11:40:01 +01:00
Richard Davey
0ee1338765
Better post pipeline call (less code)
2020-11-26 09:51:40 +00:00
Richard Davey
09c49ac288
Fixed emitter mask pipeline
2020-11-24 14:52:57 +00:00
Richard Davey
d2e2e86ef1
Updated accessor
2020-11-23 16:22:11 +00:00
Richard Davey
ec5da6930c
Added post pipeline support to all Game Objects
2020-11-23 16:17:13 +00:00
Richard Davey
28d925b875
JSDoc fixes
2020-11-23 15:06:45 +00:00
Richard Davey
417f7684c3
More integer to number changes
2020-11-23 10:32:00 +00:00
Richard Davey
02c34cd64e
Replace integer with number
2020-11-23 10:22:13 +00:00
Richard Davey
eee3feb667
Pass Game Object to batchQuad
2020-11-09 13:19:31 +00:00
Richard Davey
d3c70002ea
Removed use of _tempMatrix
from all renderers
2020-11-06 09:44:29 +00:00
Richard Davey
4ba2b0eb7b
All swapped to using renderer matrices to make pipelines smaller
2020-10-28 16:52:59 +00:00
Richard Davey
85a284d095
Particles.EmitterOp
now cleanly separates between the different types of property configuration options. start | end
will now ease between the two values, min | max
will pick a random value between them and random: []
will pick a random element. They no longer get mixed together. Fix #3608
2020-10-16 17:52:59 +01:00
Richard Davey
1aaecbe703
Particles.EmitterOp.setMethods
will now reset both onEmit
and onUpdate
to their default values. This allows you to reconfigure an emitter op with a new type of value and not have it stuck on the previous one. Fix #3663
2020-10-16 17:32:22 +01:00
Richard Davey
ae6112297a
Default tint value should now be 0xffffff. Fix #5358
2020-10-15 12:19:17 +01:00
Richard Davey
24de03ca96
Added missing ADDED_TO_SCENE
handlers
2020-09-29 20:14:30 +01:00
Richard Davey
12c8ddfd05
Use getXRound
2020-09-29 18:05:39 +01:00
Richard Davey
9619995527
Add to UpdateList if not on Display List
2020-09-29 18:05:29 +01:00
Richard Davey
b86d982c00
The ParticleManagerCanvasRenderer
now calculates its transform matrix differently, splitting out the parent matrix and factoring in the follow offsets separately. It also uses setToContext
internally. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers, or having the Camera zoomed, running under Canvas. Fix #4908 #4531 #4131
2020-09-23 12:06:29 +01:00
Richard Davey
a459ec090f
Fixed lint issue
2020-09-23 11:50:07 +01:00
Richard Davey
fb849ae0dc
The ParticleManagerWebGLRenderer
now calculates its transform matrix differently, splitting out the parent matrix and factoring in follow offsets separately. This fixes numerous issues with particle emitters being incorrectly offset when added to Containers. Fix #5319 #5195 #4739 #4691
2020-09-23 11:50:00 +01:00
Vladislav Forsh
4d7301a4be
Improve types for particle emitter deathZone and emitZone
2020-09-21 12:38:29 +03:00
Vladislav Forsh
530c7a3d92
Add reserve property to particle emitter config
2020-09-21 12:06:49 +03:00
Vladislav Forsh
8fd4754b03
Add ability to use custom easing function(s) with particle emitters
2020-09-16 12:43:38 +03:00
Richard Davey
6a966e3f3b
Removed interpolationPercentage
parameter from all render methods, as it has never been used.
2020-09-14 15:33:58 +01:00
Richard Davey
951457c881
As a result of the change to the shader, all uses of the WebGL Util function getTintAppendFloatAlphaAndSwap
have been replaced with getTintAppendFloatAlpha
instead.
2020-09-14 15:02:13 +01:00
Richard Davey
d198818d80
Game Objects now call the new Pipeline Manager methods directly
2020-09-09 13:05:18 +01:00
Richard Davey
8f8a90bedd
Utils.Array.StableSort
has been recoded. It's now based on Two-Screens stable sort 0.1.8 and has been updated to fit into Phaser better and no longer create any window bound objects. The inplace
function has been removed, just call StableSort(array)
directly now. All classes that used StableSort.inplace
have been updated to call it directly.
2020-09-02 12:24:27 +01:00
Richard Davey
da3f9b22c3
Exposed on the main API namespace
2020-09-01 18:38:57 +01:00
Richard Davey
3bd91ea3de
Update ParticleManagerCreator.js
2020-08-24 19:24:11 +01:00
Richard Davey
a9072cadf2
Sprite
, Rope
, ParticleEmitterManager
, Extern
and DOMElement
now all override the addedToScene
and removedFromScene
callbacks to handle further set-up tasks.
2020-08-24 19:24:02 +01:00
Richard Davey
f4259deb37
DOMElementFactory
, ExternFactory
, ParticleManagerFactor
, RopeFactory
and SpriteFactory
all no longer add the objects to the Update List, this is now handled by the ADDED events instead.
2020-08-24 19:22:58 +01:00
Richard Davey
786f78e91d
Particle Emitter Game Objects now support rendering in Light2d.
2020-07-16 15:32:06 +01:00
Richard Davey
99af20aa68
The Particle Emitter Game Object WebGL Renderer function has been updated to support multi-texture units.
2020-07-15 18:03:36 +01:00
Richard Davey
dea68135fd
Correct texture type. Fix #5199
2020-07-13 13:29:01 +01:00
Jason Kwok
fca63274e2
Fixed this
return types for Phaser.GameObjects.Particles.Zones.EdgeZone
2020-01-26 21:21:25 +08:00
Jason Kwok
022fa20673
Fixed this
return types for Phaser.GameObjects.Particles.EmitterOp
2020-01-26 21:18:14 +08:00
Jason Kwok
270f7b33a3
Fixed this
return types for Phaser.GameObjects.Particles.ParticleEmitterManager
2020-01-26 21:15:30 +08:00
Jason Kwok
1fd71ae088
Fixed this
return types fro Phaser.GameObjects.Particles.ParticleEmitter
2020-01-26 21:13:11 +08:00
Richard Davey
ff65e69cd1
Changed copyright date to 2020
2020-01-15 12:07:09 +00:00
Richard Davey
5130fccbf5
Merge pull request #4921 from samme/feature/emitter-remove
...
Add ParticleEmitter.remove() and ParticleEmitterManager#removeEmitter()
2019-12-28 16:35:07 +00:00
samme
15506e0faf
Add ParticleEmitter.remove() and ParticleEmitterManager#removeEmitter()
2019-12-23 10:36:35 -08:00
samme
559c89eaf2
Add ParticleEmitter#setTint()
2019-12-23 09:25:35 -08:00
Richard Davey
d405bab92c
Set image smoothing based on renderer or scale mode.
2019-10-01 16:10:46 +01:00
samme
df3953e604
Require truthy random
value for randomness
2019-06-11 11:38:29 -07:00
samme
c55ee432ce
Docs for easedValueEmit()
2019-06-07 13:32:12 -07:00
samme
cf627a07e1
Correct emitOnly values for angle, lifespan, x, y
2019-06-07 13:31:01 -07:00
samme
d3407c5e44
Add EmitterOpOnEmitType and EmitterOpOnUpdateType
...
Also some corrections in ParticleEmitterConfig docs
2019-06-01 13:33:06 -07:00
Richard Davey
c91ed91ce3
License link update
2019-05-10 16:15:04 +01:00
Richard Davey
a6341a97a8
Fixed Types references
2019-05-09 15:32:53 +01:00
Richard Davey
29aee69aa0
Particles Types
2019-05-09 11:57:00 +01:00
Richard Davey
78e1ef9df0
Particle Emitters and Containers can now have geometry masked children
2019-04-15 16:46:47 +01:00
Richard Davey
754ae7caa2
Particle Emitters can now be masked
2019-04-12 17:46:52 +01:00
Richard Davey
9dd3e7cd15
Added missing Mask component
2019-04-12 17:46:39 +01:00
Richard Davey
70a87a576d
Some legacy instances of float
moved to number
.
2019-02-13 12:39:36 +00:00
Richard Davey
e7b1d086e7
Moving all of the typedefs to properly namespaced scopes, rather than globals
...
\o/ ~ "Someone, save me!"
2019-02-13 12:35:12 +00:00
Brian Lui
af085646eb
Fix: Type declaration for blendMode
2019-02-08 15:58:18 +08:00
Richard Davey
44f4ac3598
Type def fix
2019-01-29 23:49:23 +00:00
Richard Davey
aa341854c7
Happy New Year
2019-01-15 16:20:22 +00:00
Richard Davey
4b27b37a0c
Added texture and unit arguments to batchQuad
and batchTri
, fixing the y2k bug.
2018-12-12 11:08:52 +00:00
Richard Davey
6f8759c186
Whenever Camera.roundPixels
was enabled it would use a bitwise operation to truncate the float (x |= 0
) - this has been replaced across all files that used it, with a call to Math.round
instead. This gives far better results when zooming cameras both in and out of a Scene, stopping thin gaps appearing between closely packed Game Objects.
2018-11-30 10:27:25 +00:00
Richard Davey
18af31ffb7
Fixed how dead particles are managed, reduced gc churn and reset particle positions. Also removed un-needed stable sort.
2018-11-21 11:53:46 +00:00
Richard Davey
fca695f632
Removed Particle.index as it's no longer required
2018-11-21 11:53:21 +00:00
Piotr 'Waclaw I' Hanusiak
893310d5bb
array of dead particles is now being filled up with dead particles.
2018-10-29 22:19:57 +01:00
Richard Davey
d13984f460
Added jsdocs
2018-10-19 18:32:10 +01:00
Richard Davey
0b3d54a198
Added jsdocs
2018-10-19 18:29:36 +01:00
Richard Davey
4b1c762296
Updated @memberOf to @memberof
2018-10-10 10:49:13 +01:00
Richard Davey
4d13702c33
The Particle Emitter Manager has been given a NOOP method called setBlendMode
to stop warnings from being thrown if you added an emitter to a Container in the Canvas renderer. Fix #4083
2018-10-05 16:31:43 +01:00
Richard Davey
b45df05ddb
Updated to get the frame names
2018-09-27 14:15:58 +01:00
Richard Davey
dedc939fdd
initPipeline
now defaults to the Texture Tint Pipeline if nothing else is specified.
2018-09-05 11:19:02 +01:00
Richard Davey
4deb8e49ad
eslint fixes
2018-08-03 19:37:42 +01:00
Richard Davey
9f44896a3f
The Blend Mode is now set directly in all Canvas Renderers without comparing it to what's stored in the Canvas Renderer. This fixes problems where the blend mode would be lost between two different Game Objects because they restored the context, but didn't update the renderer flag. Game Objects in Canvas can now mix and match blend modes across the display list.
2018-08-03 01:29:18 +01:00
Richard Davey
e0918df6b0
Canvas particle renderer now using same matrix math as webgl
2018-08-03 01:04:46 +01:00
Richard Davey
0a035353fa
lint fix
2018-08-03 01:04:25 +01:00
Richard Davey
7313573161
The ParticleEmitterManager
now has the Transform component. This means you can now set the position, rotation or scale of the Emitter Manager, and it will influence every Emitter it is rendering. The Managers transform is mixed with that of the Camera. This works in both Canvas and WebGL.
2018-07-31 23:21:07 +01:00
Richard Davey
c3cc4317dd
Particle.color
has been removed as it's now calculated during rendering to allow for Camera alpha support.
2018-07-31 23:18:49 +01:00
Richard Davey
34b27fd57a
ParticleEmitter
would fail to draw a textured particle in Canvas mode
2018-07-29 12:16:42 +01:00
Richard Davey
4481795d32
Swapped to using getX / getY
2018-07-27 00:53:00 +01:00
Richard Davey
8873bdcbf6
Fixed pipeline method call
2018-07-26 23:50:54 +01:00
Thomas Felix
43f6b1d231
fix: Corrects the wrong JSdoc comments
...
Wrong comments lead to a faulty Typescript Definition file missing
the depth attribute.
2018-07-25 22:13:38 +02:00
Richard Davey
fc5eb2511c
Particles using a blend mode wouldn't render correctly after the updates in 3.11. If the blend mode changes during the processing of an emitter manager it'll now correctly rebind the texture, stopping the particles from vanishing. Fix #3851
2018-07-23 01:39:21 +01:00
Richard Davey
106e32a4f5
Removed un-used imports
2018-07-19 13:26:11 +01:00
Richard Davey
ec5bd1912e
GameObject.willRender
now takes a Camera as its only argument and uses it within the check. This has allowed me to remove 23 duplicate checks spread across the various Game Objects, all of which did the same thing, saving both KB and CPU time as the flags were being checked twice in most cases.
2018-07-19 13:19:02 +01:00
Richard Davey
5ba80defb7
Pass GO to setPipeline
2018-07-11 16:23:44 +01:00
Richard Davey
82b15c8695
Removed drawEmitterManager
and moved to emitter render function
2018-07-11 14:40:36 +01:00
Richard Davey
7a23378015
Unified use of roundPixels, antialias and pixelArt modes
2018-06-27 15:15:00 +01:00
Richard Davey
7aa46657c2
Tidying up jsdocs and changing float to number
2018-06-26 23:19:14 +01:00
Richard Davey
8391042ff9
Merge pull request #3783 from samme/feature/particle-emitter-stop
...
Add ParticleEmitter#stop()
2018-06-25 22:42:00 +01:00
Richard Davey
51468fdefc
Merge branch 'master' of https://github.com/photonstorm/phaser
2018-06-25 16:25:42 +01:00
Richard Davey
90ba2608fa
Added in Camera alpha support to all canvas renderers
2018-06-25 16:24:08 +01:00
samme
bc2212c87d
Add ParticleEmitter#stop()
2018-06-23 12:51:16 -07:00
Chris Andrew
c2bfc52987
Documented the majority of the Geom Line functions.
2018-06-21 18:13:56 +01:00
Chris Andrew
6854ccb764
Cleaned up some remaining GameObject descriptions.
2018-06-21 14:18:28 +01:00
Chris Andrew
978f982c26
Documented the remaining ParticleEmitter Zone classes.
2018-06-21 14:12:47 +01:00
Chris Andrew
df88218534
Finished up EmitterOp method descriptions.
...
Finally!
2018-06-21 12:47:29 +01:00
Chris Andrew
7f232b6bed
Further EmitterOp documentation.
2018-06-20 17:18:03 +01:00
Chris Andrew
584e8f9919
Started documenting the EmitterOp class.
2018-06-20 16:18:00 +01:00
Chris Andrew
9f23818c40
Documented various missing descriptions for GameObject classes and functions.
2018-06-20 07:28:02 +01:00
Andre van Tonder
b2f8a139cc
change ParticleEmitter.startFollow to fix issue 3764
2018-06-18 14:25:12 +08:00
Richard Davey
15b544fc46
jsdoc fixes
2018-06-13 08:37:40 +01:00
Richard Davey
7df02a4447
Added 2 NOOPs instead of merging the whole mixins.
2018-06-01 00:03:45 +01:00
TadejZupancic
6f7463f4f7
Particle Emitter Manager in Container
...
Added Alpha and ScrollFactor Mixin to Particle Emitter Manager otherwise it crashes when added to the Container.
2018-05-30 10:44:49 +02:00
Richard Davey
2630c982b4
jsdoc fixes
2018-05-22 15:55:36 +01:00
Richard Davey
9429a28574
The Particle tint value was incorrectly calculated, causing the color channels to be inversed. Fix #3643
2018-05-18 13:16:17 +01:00
Richard Davey
0d0846a415
Calling a creator, such as GraphicsCreator, without passing in a config object, would cause an error to be thrown. All Game Object creators now catch against this.
2018-05-16 15:17:08 +01:00
Richard Davey
28251fd0f5
addToScene
added to all Game Object Creators
2018-05-02 10:57:26 +01:00
samme
5fc6f94c67
Remove source
checks in setEmitZone
2018-04-28 13:10:22 -07:00
samme
f59f90d2ca
Correct source
types in *ZoneConfig definitions
2018-04-28 13:09:59 -07:00
samme
84ba1ba191
Correct source
checks in setEmitZone
2018-04-28 08:41:32 -07:00
samme
bd9831912c
Don't stringify emitter ops twice
2018-04-24 14:20:23 -07:00
samme
0de5340201
Add 'angle' to configOpMap
...
It was missing from toJSON() output
2018-04-24 14:20:23 -07:00
Richard Davey
ed2eafb3b3
Code tidying
2018-04-23 00:13:11 +01:00
Richard Davey
30a0ff02cb
Merge pull request #3600 from samme/docs/particles
...
Add docs for gameobjects/particles
2018-04-22 23:07:51 +01:00
samme
711d2a6193
Minor additions and corrections to docs
2018-04-20 21:00:19 -07:00
Richard Davey
606ba6d8d7
Added new Mask component and added to all relevant Game Objects
2018-04-20 18:57:49 +01:00
samme
8b939d7790
Omit EmitterOpEmitConfig, EmitterOpUpdateConfig
2018-04-20 06:51:31 -07:00
Richard Davey
6299019838
Updated to use typeof DefinePlugin check.
2018-04-20 00:23:24 +01:00
samme
0b881e9a4e
Add particles docs
2018-04-19 14:05:21 -07:00
Felipe Alfonso
4496e773a7
Removed particle scroll factor property and calculation from canvas rendering
2018-04-18 18:44:09 -03:00
Richard Davey
18585de81d
Lots of jsdoc fixes
2018-04-16 14:43:24 +01:00
Richard Davey
cdfe2e0ea2
Fixed references
2018-04-10 04:13:38 +01:00
Felipe Alfonso
c232642a52
Parent matrix is applied to canvas context on each draw function
2018-04-04 14:05:59 -03:00