Excalibur 0.23.0
See the version list below for details.
dotnet add package Excalibur --version 0.23.0
NuGet\Install-Package Excalibur -Version 0.23.0
<PackageReference Include="Excalibur" Version="0.23.0" />
<PackageVersion Include="Excalibur" Version="0.23.0" />
<PackageReference Include="Excalibur" />
paket add Excalibur --version 0.23.0
#r "nuget: Excalibur, 0.23.0"
#:package Excalibur@0.23.0
#addin nuget:?package=Excalibur&version=0.23.0
#tool nuget:?package=Excalibur&version=0.23.0
Thanks to @DavidLi119, @radist2s, @magnusandy, @djcsdy, and @ZuzuZain for their contributions!
Breaking Changes
ex.Actor.scale,ex.Actor.sx/sy,ex.Actor.actions.scaleTo/scaleBywill not work as expected with new collider implementation, set width and height directly. These features will be completely removed in v0.24.0.
Added
- Add new collision group implementation (#1091, #862)
- New
ex.Collidertype which is the container for all collision related behavior and state. Actor is now extracted from collision. - Added interface
Clonable<T>to indicate if an object contains a clone method - Added interface
Eventable<T>to indicated if an object can emit and receive events ex.Vector.scalenow also works with vector inputex.BoundingBox.fromDimension(width: number, height: number)can generate a bounding box from a width and heightex.BoundingBox.translate(pos: Vector)will create a new bounding box shifted byposex.BoundingBox.scale(scale: Vector)will create a new bounding box scaled byscale- Added
isActor()andisCollider()type guards - Added
ex.CollisionShape.drawcollision shapes can now be drawn, actor's will use these shapes if no other drawing is specified - Added a
getClosestLineBetweenmethod toCollisionShape's for returning the closest line between 2 shapes (#1071)
Changed
Change
ex.Actor.withinto use surface of object geometry instead of the center to make judgements (#1071)Changed
moveBy,rotateBy, andscaleByto operate relative to the current actor position at a speed, instead of moving to an absolute by a certain time.Changed event handlers in excalibur to expect non-null event objects, before
hander: (event?: GameEvent) => voidimplied that event could be null. This change addresses (#1147) making strict null/function checks compatible with new typescript.Changed collision system to remove actor coupling, in addition
ex.Collideris a new type that encapsulates all collision behavior. Useex.Actor.body.colliderto interact with collisions in Excalibur (#1119)- Add new
ex.Collidertype that is the housing for all collision related code- The source of truth for
ex.CollisionTypeis now on collider, with a convenience getter on actor - The collision system now operates on
ex.Collider's notex.Actor's
- The source of truth for
ex.CollisionTypehas been moved to a separate file outside ofActor- CollisionType is switched to a string enum, style guide also updated
ex.CollisionPairnow operates on a pair ofex.Colliders's instead ofex.Actors'sex.CollisionContactnow operates on a pair ofex.Collider's instead ofex.Actors'sex.Bodyhas been modified to house all the physical position/transform information- Integration has been moved from actor to
Bodyas a physical concern useBoxCollisionhas been renamed touseBoxCollideruseCircleCollisionhas been renamed touseCircleColliderusePolygonCollisionhas been renamed tousePolygonCollideruseEdgeCollisionhas been renamed touseEdgeCollider
- Integration has been moved from actor to
- Renamed
ex.CollisionAreatoex.CollisionShapeex.CircleAreahas been renamed toex.Circleex.PolygonAreahas been renamed toex.ConvexPolygonex.EdgeAreahas been renamed toex.Edge
- Renamed
getWidth()&setWidth()to propertywidth- Actor and BoundingBox are affected
- Renamed
getHeight()&setHeight()to propertyheight- Actor and BoundingBox are affected
- Renamed
getCenter()to the propertycenter- Actor, BoundingBox, and Cell are affected
- Renamed
getBounds()to the propertybounds- Actor, Collider, and Shapes are affected
- Renamed
getRelativeBounds()to the propertylocalBounds- Actor, Collider, and Shapes are affected
- Renamed
moi()to the propertyinertiastanding for moment of inertia - Renamed
restitionto the propertybounciness - Moved
collisionTypetoActor.body.collider.type - Moved
Actor.integratetoActor.body.integrate
- Add new
Deprecated
Legacy groups
ex.Groupwill be removed in v0.24.0, use collision groups as a replacement (#1091)Legacy collision groups off
Actorwill be removed in v0.24.0, useActor.body.collider.collisionGroup(#1091)Removed
NaiveCollisionBroadphaseas it was no longer usedRenamed methods and properties will be available until
v0.24.0Deprecated collision attributes on actor, use
Actor.body.colliderActor.x&Actor.ywill be removed inv0.24.0useActor.pos.x&Actor.pos.yActor.collisionAreawill be removed inv0.24.0useActor.body.collider.shapeActor.getLeft(),Actor.getRight(),Actor.getTop(), andActor.getBottomare deprecated- Use
Actor.body.collider.bounds.(left|right|top|bottom)
- Use
Actor.getGeometry()andActor.getRelativeGeometry()are removed, useCollider- Collision related properties on Actor moved to
Collider, useActor.body.colliderActor.torqueActor.massActor.moiActor.frictionActor.restition
- Collision related methods on Actor moved to
Collider, useActor.body.colliderorActor.body.collider.boundsActor.getSideFromIntersect(intersect)→BoundingBox.sideFromIntersectionActor.collidesWithSide(actor)→Actor.body.collider.bounds.intersectWithSideActor.collides(actor)→Actor.body.collider.bounds.intersect
Fixed
- Fixed issue where leaking window/document handlers was possible when calling
ex.Engine.stop()andex.Engine.start(). (#1063) - Fixed wrong
CameraandLoaderscaling on HiDPI screens when optionsuppressHiDPIScalingis set. (#1120) - Fixed polyfill application by exporting a
polyfill()function that can be called. (#1132) - Fixed
Color.lighten()(#1084)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.32.0 | 299 | 12/23/2025 |
| 0.31.0 | 298 | 9/27/2025 |
| 0.30.3 | 462 | 1/2/2025 |
| 0.30.2 | 430 | 12/26/2024 |
| 0.30.1 | 477 | 12/13/2024 |
| 0.29.3 | 441 | 5/5/2024 |
| 0.29.2 | 505 | 4/7/2024 |
| 0.29.1 | 494 | 2/23/2024 |
| 0.29.0 | 513 | 2/20/2024 |
| 0.28.7 | 496 | 1/27/2024 |
| 0.28.6 | 482 | 1/13/2024 |
| 0.28.5 | 506 | 1/6/2024 |
| 0.28.4 | 501 | 12/22/2023 |
| 0.28.3 | 476 | 12/12/2023 |
| 0.28.2 | 543 | 12/2/2023 |
| 0.28.0 | 600 | 8/11/2023 |
| 0.25.3 | 987 | 2/6/2022 |
| 0.25.2 | 880 | 1/22/2022 |
| 0.25.1 | 952 | 11/6/2021 |
| 0.23.0 | 1,253 | 6/8/2019 |