| Index: sky/examples/game/lib/sprite.dart
|
| diff --git a/sky/examples/game/lib/sprite.dart b/sky/examples/game/lib/sprite.dart
|
| deleted file mode 100644
|
| index 6202e20e30b4abced89a1f19f36f9fe7311b3145..0000000000000000000000000000000000000000
|
| --- a/sky/examples/game/lib/sprite.dart
|
| +++ /dev/null
|
| @@ -1,129 +0,0 @@
|
| -part of sprites;
|
| -
|
| -/// A Sprite is a [Node] that renders a bitmap image to the screen.
|
| -class Sprite extends NodeWithSize {
|
| -
|
| - /// The texture that the sprite will render to screen.
|
| - ///
|
| - /// If the texture is null, the sprite will be rendered as a red square
|
| - /// marking the bounds of the sprite.
|
| - ///
|
| - /// mySprite.texture = myTexture;
|
| - Texture texture;
|
| -
|
| - /// If true, constrains the proportions of the image by scaling it down, if its proportions doesn't match the [size].
|
| - ///
|
| - /// mySprite.constrainProportions = true;
|
| - bool constrainProportions = false;
|
| - double _opacity = 1.0;
|
| -
|
| - /// The color to draw on top of the sprite, null if no color overlay is used.
|
| - ///
|
| - /// // Color the sprite red
|
| - /// mySprite.colorOverlay = new Color(0x77ff0000);
|
| - Color colorOverlay;
|
| -
|
| - /// The transfer mode used when drawing the sprite to screen.
|
| - ///
|
| - /// // Add the colors of the sprite with the colors of the background
|
| - /// mySprite.transferMode = TransferMode.plusMode;
|
| - TransferMode transferMode;
|
| -
|
| - /// Creates a new sprite from the provided [texture].
|
| - ///
|
| - /// var mySprite = new Sprite(myTexture)
|
| - Sprite([this.texture]) {
|
| - if (texture != null) {
|
| - size = texture.size;
|
| - pivot = texture.pivot;
|
| - } else {
|
| - pivot = new Point(0.5, 0.5);
|
| - }
|
| - }
|
| -
|
| - /// Creates a new sprite from the provided [image].
|
| - ///
|
| - /// var mySprite = new Sprite.fromImage(myImage);
|
| - Sprite.fromImage(Image image) {
|
| - assert(image != null);
|
| -
|
| - texture = new Texture(image);
|
| - size = texture.size;
|
| -
|
| - pivot = new Point(0.5, 0.5);
|
| - }
|
| -
|
| - /// The opacity of the sprite in the range 0.0 to 1.0.
|
| - ///
|
| - /// mySprite.opacity = 0.5;
|
| - double get opacity => _opacity;
|
| -
|
| - void set opacity(double opacity) {
|
| - assert(opacity != null);
|
| - assert(opacity >= 0.0 && opacity <= 1.0);
|
| - _opacity = opacity;
|
| - }
|
| -
|
| - void paint(RenderCanvas canvas) {
|
| - canvas.save();
|
| -
|
| - // Account for pivot point
|
| - applyTransformForPivot(canvas);
|
| -
|
| - if (texture != null) {
|
| - double w = texture.size.width;
|
| - double h = texture.size.height;
|
| -
|
| - if (w <= 0 || h <= 0) return;
|
| -
|
| - double scaleX = size.width / w;
|
| - double scaleY = size.height / h;
|
| -
|
| - if (constrainProportions) {
|
| - // Constrain proportions, using the smallest scale and by centering the image
|
| - if (scaleX < scaleY) {
|
| - canvas.translate(0.0, (size.height - scaleX * h) / 2.0);
|
| - scaleY = scaleX;
|
| - } else {
|
| - canvas.translate((size.width - scaleY * w) / 2.0, 0.0);
|
| - scaleX = scaleY;
|
| - }
|
| - }
|
| -
|
| - canvas.scale(scaleX, scaleY);
|
| -
|
| - // Setup paint object for opacity and transfer mode
|
| - Paint paint = new Paint();
|
| - paint.color = new Color.fromARGB((255.0*_opacity).toInt(), 255, 255, 255);
|
| - if (colorOverlay != null) {
|
| - paint.setColorFilter(new ColorFilter.mode(colorOverlay, TransferMode.srcATop));
|
| - }
|
| - if (transferMode != null) {
|
| - paint.setTransferMode(transferMode);
|
| - }
|
| -
|
| - // Do actual drawing of the sprite
|
| - if (texture.rotated) {
|
| - // Calculate the rotated frame and spriteSourceSize
|
| - Size originalFrameSize = texture.frame.size;
|
| - Rect rotatedFrame = new Rect.fromPointAndSize(texture.frame.upperLeft, new Size(originalFrameSize.height, originalFrameSize.width));
|
| - Point rotatedSpriteSourcePoint = new Point(
|
| - -texture.spriteSourceSize.top - (texture.spriteSourceSize.bottom - texture.spriteSourceSize.top),
|
| - texture.spriteSourceSize.left);
|
| - Rect rotatedSpriteSourceSize = new Rect.fromPointAndSize(rotatedSpriteSourcePoint, new Size(originalFrameSize.height, originalFrameSize.width));
|
| -
|
| - // Draw the rotated sprite
|
| - canvas.rotate(-Math.PI/2.0);
|
| - canvas.drawImageRect(texture.image, rotatedFrame, rotatedSpriteSourceSize, paint);
|
| - } else {
|
| - // Draw the sprite
|
| - canvas.drawImageRect(texture.image, texture.frame, texture.spriteSourceSize, paint);
|
| - }
|
| - } else {
|
| - // Paint a red square for missing texture
|
| - canvas.drawRect(new Rect.fromLTRB(0.0, 0.0, size.width, size.height),
|
| - new Paint()..color = const Color.fromARGB(255, 255, 0, 0));
|
| - }
|
| - canvas.restore();
|
| - }
|
| -}
|
|
|