From 67a694087ee4b6b19623e899d67a9d6a03f0d498 Mon Sep 17 00:00:00 2001 From: Erick Zanardo Date: Thu, 2 Jul 2020 19:41:37 -0300 Subject: [PATCH] Fixing example and restoring SpriteComponent --- doc/examples/debug/assets/android.svg | 11 ------- doc/examples/debug/assets/images/android.png | Bin 0 -> 35625 bytes doc/examples/debug/lib/main.dart | 7 ++-- doc/examples/debug/pubspec.yaml | 2 +- lib/components/component.dart | 33 +++++++++++++++++++ 5 files changed, 37 insertions(+), 16 deletions(-) delete mode 100644 doc/examples/debug/assets/android.svg create mode 100644 doc/examples/debug/assets/images/android.png diff --git a/doc/examples/debug/assets/android.svg b/doc/examples/debug/assets/android.svg deleted file mode 100644 index 1db6886aa..000000000 --- a/doc/examples/debug/assets/android.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/doc/examples/debug/assets/images/android.png b/doc/examples/debug/assets/images/android.png new file mode 100644 index 0000000000000000000000000000000000000000..54fe8001b043d45e1fc2e439357fa3ae0f0a7ea4 GIT binary patch literal 35625 zcmd3N1y`G0uyt^EFYYZ+w79z#_aeayEyaqvdnptt#jUuz1PJbwQe1*Ngy5c=_ulVE zd@Czq@gzAp&zw0kd-m)TtF5Vwhy4m0007{rswn6J0LaGwJu%S{SGw(gt|I=RI>^44 z1pw-kaGtEt5dSmSsOY{20Q}ehfRG3P-~n+dJc0`UgA zwYstb0RG=2A5{7SaRuY6>U%|u4NN-RH*AC6qLPR&15_1c^?jC4bG)-z4KjOrpyd_* zE~S}=s<`q>?%E16I;x)(G&>(OiJj#g9jT`4jm}1-r!IuZj+~8|}w$EcM2DIPn!M{t`c9pom5Wz*@L3( z6s5K%!FIHFutY<`4yPd^g-?S6eRf_T5Q(;1B9YxcT6MrT#>FZDyF>6^&D|B9#B|C2 zySr>md;p-7JT{(ig)laLzB-1EdcwTQ{Mw6&Er9npNIGA&FIHzKP^EB8T> znNE4D@3+3Qvj!;&Bvl9YsB`lO9MDjkuiS8rf9Q2gdc?(P2U3#D!dw}F#4c$7C zHlCOKORvwnhykINH%5Sb*BECMn@yzzW$NTMN~N9ptx*g~lB%|++x@!lSd5vQS;F0D zv57|1T2f3*81EBf6Y*l41GC)G02TQ4)ix5VA@!~(#1yg$bf0k7OT+9`jE6|MQvA7} zpO<{TJPUvC1!;toD%XS}KE?C_rG?qhqulVPJ|FoPna}c=u7%;^o>05(wmU;Laz>VC zGuP)2u(5tiESs)bgpJ~zQHm0;F@L~LHHBJfh{&w?zs(H!4YVKurit8mIPfCwhOQkN z>fRW$Ovi{ll|jotA^Cc473ROfXLOq>loD{;RAA%8RyfxRUV7(R=6an;nBuM}^(FYO z1OVxRr3_PVgWk9$OOt<5*y>YEik+N}03+SKv#aUJ`r0pc~Y!kgsP{ELY@Ua&D7)Mit#zZ(8_Y+VI_0h z57lg)5iN0((d`ra3jx~ye(dj`_^2@vf%%(qEtUX!JErN^@>>tGcc! z2iZ6_L&VpdTsymeN-46i$xQN5&1N6lE!&$Ly9{FLx&9#^(x~k!0OAgrV;k!XmG#$( zPG4#kqsoT2wP#2+2YLLLwxzh?9wR(>eQ)7IebaPep$Vptq{AFVehU@PGEGiN|IT3Kb&-+E!#52iuhhLV{~&q zAc;-@OSs=3h}`x2OSP#pXu0;+&vtmBp7^yfOH#J`YH9uOA_;?25K{grbG%->p9FR< z?PrNDQ7oN~yQoGJqKNO`E}J3USk3iLg91LB8#k4M%&yDH-irx+qj07MkxSnmprUr2 ziiHlE{-j_<8;Ar#!Ri^&f=%SxZuHl|kOLpm0h6r4lv5eL8=G?(xF8FEZ8XMCmHdNR z)pP3_*!Zzuipya2fI(RF%%v2V9I(wANNIlGlN9r#7UkpP9!g{(T@urbPdne<#E9P~ z35bm%p`4gfyFU2fqbG&*Ipm9=iK&(n#ZxYrwz%SZ?ZWB7P=lq_e^bi!ovq)uIiGQm z{d{h2&|XLa$!w!cv?UFZGT6}65=x(7UGV4^XDogWxNe0fyw4g6};=@pSvs0tnA)C;dM6)~omI@9N@ua%m=Qc7OrB z>B|Qy=y2w+#n4zjFuCwN%BDL;$J!DKj30`wy3AC{pQ&l@EexKfOatal8fJ3tKXc>h)~Rg%aRqptCVE#2>?4(VZBWm| z3we9{Or)^H}C_u>{W94NX=y zAt2?_Re8CO-~mhckP>F}l;TUD40xNq*N#^%C``JQ2rN?H+90M|k->Ciqf_#-s8l@Z*Nq-`o`lc*?!l6}Dug!jzcwx|8?gBl^7p)rZBL-0t(F8r z#VQ!l!e+g5rMo0;F~%2kktkiqkI5Lnw~DhKbCDlCmhT${o8XlHfXH*=7i$%F@rjfB zPpqmoYtz0ocxdsYzgqLI_)?>96?fTd+jMdQ&}3G;Lo{;}cfVH=hYM```40XbcFRL% zw1shr7h^PAwf@-mbr5@xe(W|p)us0DDERDgNBN8YT@C1bRLk8)95H0>g7p4≠8O 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 A=l}o! literal 0 HcmV?d00001 diff --git a/doc/examples/debug/lib/main.dart b/doc/examples/debug/lib/main.dart index 032987a90..7139eebe1 100644 --- a/doc/examples/debug/lib/main.dart +++ b/doc/examples/debug/lib/main.dart @@ -1,8 +1,7 @@ import 'package:flame/game.dart'; import 'package:flame/flame.dart'; -import 'package:flame/svg.dart'; import 'package:flame/position.dart'; -import 'package:flame/components/component.dart' show SvgComponent; +import 'package:flame/components/component.dart'; import 'package:flame/components/mixins/resizable.dart'; import 'package:flame/text_config.dart'; @@ -16,12 +15,12 @@ void main() async { myGame.start(); } -class AndroidComponent extends SvgComponent with Resizable { +class AndroidComponent extends SpriteComponent with Resizable { static const int SPEED = 150; int xDirection = 1; int yDirection = 1; - AndroidComponent() : super.fromSvg(100, 100, Svg('android.svg')); + AndroidComponent() : super.square(100, 'android.png'); @override void update(double dt) { diff --git a/doc/examples/debug/pubspec.yaml b/doc/examples/debug/pubspec.yaml index abc656df6..6dea24adf 100644 --- a/doc/examples/debug/pubspec.yaml +++ b/doc/examples/debug/pubspec.yaml @@ -18,4 +18,4 @@ dev_dependencies: flutter: assets: - - assets/android.svg + - assets/images/android.png diff --git a/lib/components/component.dart b/lib/components/component.dart index a13997b28..35cd27cc5 100644 --- a/lib/components/component.dart +++ b/lib/components/component.dart @@ -171,3 +171,36 @@ abstract class PositionComponent extends Component { _effects.removeWhere((e) => e.hasFinished()); } } + +/// A [PositionComponent] that renders a single [Sprite] at the designated position, scaled to have the designated size and rotated to the designated angle. +/// +/// This is the most commonly used child of [Component]. +class SpriteComponent extends PositionComponent { + Sprite sprite; + Paint overridePaint; + + SpriteComponent(); + + SpriteComponent.square(double size, String imagePath) + : this.rectangle(size, size, imagePath); + + SpriteComponent.rectangle(double width, double height, String imagePath) + : this.fromSprite(width, height, Sprite(imagePath)); + + SpriteComponent.fromSprite(double width, double height, this.sprite) { + this.width = width; + this.height = height; + } + + @override + void render(Canvas canvas) { + prepareCanvas(canvas); + sprite.render(canvas, + width: width, height: height, overridePaint: overridePaint); + } + + @override + bool loaded() { + return sprite != null && sprite.loaded() && x != null && y != null; + } +}