excalibur 0.32.0-alpha.1564 → 0.32.0-alpha.1566

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -15,6 +15,18 @@ This project adheres to [Semantic Versioning](http://semver.org/).
15
15
 
16
16
  ### Added
17
17
 
18
+ - Added a convenience parameter to set the initial graphics or material in an Actor
19
+ ```typescript
20
+ const cloudSprite = cloud.toSprite();
21
+ const swirlMaterial = game.graphicsContext.createMaterial({
22
+ name: 'swirl',
23
+ fragmentSource
24
+ });
25
+ const actor = new ex.Actor({
26
+ graphic: cloudSprite,
27
+ material: swirlMaterial
28
+ });
29
+ ```
18
30
  - Simpler easing functions of the form `(currentTime: number) => number` instead of the 4 parameter legacy ones
19
31
  - Support for disabling integration for all offscreen entities, or on a per entity basis
20
32
 
@@ -24,6 +24,7 @@ import { ActionsComponent } from './Actions/ActionsComponent';
24
24
  import { CoordPlane } from './Math/coord-plane';
25
25
  import type { EventKey, Handler, Subscription } from './EventEmitter';
26
26
  import { EventEmitter } from './EventEmitter';
27
+ import type { Graphic, Material } from './Graphics';
27
28
  /**
28
29
  * Type guard for checking if something is an Actor
29
30
  * @param x
@@ -82,6 +83,14 @@ export type ActorArgs = ColliderArgs & {
82
83
  * If a width/height or a radius was set a default graphic will be added
83
84
  */
84
85
  color?: Color;
86
+ /**
87
+ * Optionally set the default graphic
88
+ */
89
+ graphic?: Graphic;
90
+ /**
91
+ * Optionally set the default material
92
+ */
93
+ material?: Material;
85
94
  /**
86
95
  * Optionally set the color of an actor, only used if no graphics are present
87
96
  * If a width/height or a radius was set a default graphic will be added
@@ -1,4 +1,4 @@
1
- /*! excalibur - 0.32.0-alpha.1564+00e394f - 2025-11-24
1
+ /*! excalibur - 0.32.0-alpha.1566+bfb6759 - 2025-11-24
2
2
  https://github.com/excaliburjs/Excalibur
3
3
  Copyright (c) 2025 Excalibur.js <https://github.com/excaliburjs/Excalibur/graphs/contributors>
4
4
  Licensed BSD-2-Clause
@@ -19467,7 +19467,9 @@ If you want to do custom drawing, use Actor.graphics, or any onPreDraw or onPost
19467
19467
  anchor,
19468
19468
  offset,
19469
19469
  collisionType,
19470
- collisionGroup
19470
+ collisionGroup,
19471
+ graphic,
19472
+ material
19471
19473
  } = {
19472
19474
  ...config
19473
19475
  };
@@ -19538,6 +19540,12 @@ If you want to do custom drawing, use Actor.graphics, or any onPreDraw or onPost
19538
19540
  }
19539
19541
  }
19540
19542
  this.graphics.isVisible = visible != null ? visible : true;
19543
+ if (graphic) {
19544
+ this.graphics.use(graphic);
19545
+ }
19546
+ if (material) {
19547
+ this.graphics.material = material;
19548
+ }
19541
19549
  }
19542
19550
  /**
19543
19551
  * Gets the position vector of the actor in pixels
@@ -33094,7 +33102,7 @@ Read more about this issue at https://excaliburjs.com/docs/performance`
33094
33102
  this._count += count;
33095
33103
  }
33096
33104
  }
33097
- const EX_VERSION = "0.32.0-alpha.1564+00e394f";
33105
+ const EX_VERSION = "0.32.0-alpha.1566+bfb6759";
33098
33106
  polyfill();
33099
33107
  exports2.ActionCompleteEvent = ActionCompleteEvent;
33100
33108
  exports2.ActionContext = ActionContext;
@@ -1,4 +1,4 @@
1
- /*! excalibur - 0.32.0-alpha.1564+00e394f - 2025-11-24
1
+ /*! excalibur - 0.32.0-alpha.1566+bfb6759 - 2025-11-24
2
2
  https://github.com/excaliburjs/Excalibur
3
3
  Copyright (c) 2025 Excalibur.js <https://github.com/excaliburjs/Excalibur/graphs/contributors>
4
4
  Licensed BSD-2-Clause
@@ -19467,7 +19467,9 @@ If you want to do custom drawing, use Actor.graphics, or any onPreDraw or onPost
19467
19467
  anchor,
19468
19468
  offset,
19469
19469
  collisionType,
19470
- collisionGroup
19470
+ collisionGroup,
19471
+ graphic,
19472
+ material
19471
19473
  } = {
19472
19474
  ...config
19473
19475
  };
@@ -19538,6 +19540,12 @@ If you want to do custom drawing, use Actor.graphics, or any onPreDraw or onPost
19538
19540
  }
19539
19541
  }
19540
19542
  this.graphics.isVisible = visible != null ? visible : true;
19543
+ if (graphic) {
19544
+ this.graphics.use(graphic);
19545
+ }
19546
+ if (material) {
19547
+ this.graphics.material = material;
19548
+ }
19541
19549
  }
19542
19550
  /**
19543
19551
  * Gets the position vector of the actor in pixels
@@ -33094,7 +33102,7 @@ Read more about this issue at https://excaliburjs.com/docs/performance`
33094
33102
  this._count += count;
33095
33103
  }
33096
33104
  }
33097
- const EX_VERSION = "0.32.0-alpha.1564+00e394f";
33105
+ const EX_VERSION = "0.32.0-alpha.1566+bfb6759";
33098
33106
  polyfill();
33099
33107
  exports2.ActionCompleteEvent = ActionCompleteEvent;
33100
33108
  exports2.ActionContext = ActionContext;