BenMakesGames.PlayPlayMini.GraphicsExtensions
5.1.0
Prefix Reserved
dotnet add package BenMakesGames.PlayPlayMini.GraphicsExtensions --version 5.1.0
NuGet\Install-Package BenMakesGames.PlayPlayMini.GraphicsExtensions -Version 5.1.0
<PackageReference Include="BenMakesGames.PlayPlayMini.GraphicsExtensions" Version="5.1.0" />
paket add BenMakesGames.PlayPlayMini.GraphicsExtensions --version 5.1.0
#r "nuget: BenMakesGames.PlayPlayMini.GraphicsExtensions, 5.1.0"
// Install BenMakesGames.PlayPlayMini.GraphicsExtensions as a Cake Addin #addin nuget:?package=BenMakesGames.PlayPlayMini.GraphicsExtensions&version=5.1.0 // Install BenMakesGames.PlayPlayMini.GraphicsExtensions as a Cake Tool #tool nuget:?package=BenMakesGames.PlayPlayMini.GraphicsExtensions&version=5.1.0
What Is It?
PlayPlayMini.GraphicsExtensions
contains classes and extensions for PlayPlayMini that add more functionality to PlayPlayMini.
Game States Transitions
ScreenWipe
The ScreenWipe
game state allows you to add a screen wipe transition between two game states.
Example usage:
public void GoToNextScene()
{
GSM.ChangeState<ScreenWipe, ScreenWipeConfig>(new() {
PreviousState = this,
NextState = GSM.CreateState<NextScene>(),
Color = Color.Black,
WipeTime = 0.25, // in seconds
Direction = ScreenWipeDirection.RightToLeft
});
}
There are also options which let you hold on the black screen while some other process finishes (HoldUntil
), and/or show a message (Message
and MessageColor
), which may be useful when performing a long-running operation, such as saving the game, loading the next level from disk, or making an web API call.
Drawing "Primitives"
PlayPlayMini.GraphicsExtensions
contains methods for drawing "basic shapes", beyond just rectangles (which PlayPlayMini
itself already supports).
At the moment, only lines, ellipses (including circles), and filled triangles are supported.
DrawCircle
Draws the outline of a circle, given a center position, and radius.
GraphicsManager.DrawCircle(
int centerX,
int centerY,
int radius,
Color outlineColor
);
GraphicsManager.DrawCircle(
Vector2 center,
int radius,
Color outlineColor
);
DrawEllipse
Draws an ellipse that fits inside a rectangle.
GraphicsManager.DrawEllipse(
int x,
int y,
int width,
int height,
Color outlineColor
)
GraphicsManager.DrawEllipse(
Rectangle rectangle,
Color outlineColor
)
DrawFilledCircle
Same as DrawCircle
, above, but draws a solid circle, instead of just its outline.
DrawFilledEllipse
Same as DrawEllipse
, above, but draws a solid ellipse, instead of just its outline.
DrawFilledTriangle
Draws a filled triangle, given three points.
GraphicsManager.DrawFilledTriangle(
float x1,
float y1,
float x2,
float y2,
float x3,
float y3,
Color color
)
GraphicsManager.DrawFilledTriangle(
Vector2 v1,
Vector2 v2,
Vector2 v3,
Color color
)
Notes
- There is no
DrawTriangle
method for drawing only a triangle's outline (yet...) - For those with a 3D background: the order your pass the verticies in does not matter - the triangle will be drawn whether the points are in clockwise or counterclockwise order
DrawLine
Draws a straight line between two points.
GraphicsManager.DrawLine(int x1, int y1, int x2, int y2, Color color)
GraphicsManager.DrawLine(Vector2 start, Vector2 end, Color color)
Drawing Text with Effects
DrawTextWithOutline
PlayPlayMini has a built-in DrawTextWithOutline
method. GraphicsExtensions's version is easier to use (you do not need to create an outline version of your font), but is less computationally efficient (2.5x the draw calls).
Most games won't notice this performance difference, but if you're tight on CPU cycles for some reason, you may not want to rely on this method.
GraphicsManager.DrawTextWithOutline(
string fontName,
int x,
int y,
string text,
Color fillColor,
Color outlineColor
);
DrawWavyText
DrawWavyText
allows you to draw text that moves up and down in a wavy pattern. There are a few overloads of the method which allow you to customize color and positioning of the text.
Draw waving text starting at the specified x/y position:
GraphicsManager.DrawWavyText(
string fontName,
GameTime gameTime,
int x, int y,
string text,
Color color = Color.White
);
Draw waving text horizontally-centered at the specified y position:
GraphicsManager.DrawWavyText(
string fontName,
GameTime gameTime,
int y,
string text,
Color color = Color.White
);
Draw waving text in the dead center of the screen:
GraphicsManager.DrawWavyText(
string fontName,
GameTime gameTime,
string text,
Color color = Color.White
);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- BenMakesGames.PlayPlayMini (>= 5.2.0)
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 |
---|---|---|
5.1.0 | 88 | 10/6/2024 |
5.0.0 | 143 | 8/17/2024 |
4.7.1 | 99 | 5/28/2024 |
4.7.0 | 106 | 5/24/2024 |
4.5.0 | 117 | 3/23/2024 |
4.4.0 | 117 | 3/2/2024 |
4.3.0 | 115 | 2/25/2024 |
4.2.0 | 122 | 2/22/2024 |
4.1.0 | 116 | 2/12/2024 |
4.0.1 | 258 | 11/25/2023 |
4.0.0 | 140 | 11/25/2023 |
3.2.1 | 192 | 10/28/2023 |
3.2.0 | 176 | 10/26/2023 |
3.1.0 | 171 | 10/25/2023 |
3.0.0 | 159 | 9/18/2023 |
2.1.0 | 162 | 9/17/2023 |
2.0.1 | 211 | 6/30/2023 |
2.0.0 | 209 | 4/23/2023 |
1.2.0 | 208 | 4/16/2023 |
1.1.1 | 239 | 4/9/2023 |
1.1.0 | 202 | 4/9/2023 |
1.0.0 | 272 | 1/7/2023 |
0.0.1 | 252 | 1/7/2023 |