| OLD | NEW |
| 1 import 'package:sky/widgets/basic.dart'; | 1 import 'package:sky/widgets/basic.dart'; |
| 2 import 'package:sky/widgets/widget.dart'; | 2 import 'package:sky/widgets/widget.dart'; |
| 3 import 'package:sky/mojo/net/fetch.dart'; | 3 import 'package:sky/mojo/net/fetch.dart'; |
| 4 | 4 |
| 5 import 'lib/game_demo.dart'; | 5 import 'lib/game_demo.dart'; |
| 6 import 'lib/sprites.dart'; | 6 import 'lib/sprites.dart'; |
| 7 | 7 |
| 8 void main() { | 8 void main() { |
| 9 // Load images | 9 // Load images |
| 10 new ImageMap([ | 10 new ImageMap([ |
| 11 "res/nebula.png", | 11 "res/nebula.png", |
| 12 "res/sprites.png", | 12 "res/sprites.png", |
| 13 "res/starfield.png", | 13 "res/starfield.png", |
| 14 ], | 14 ], |
| 15 allImagesLoaded); | 15 allImagesLoaded); |
| 16 } | 16 } |
| 17 | 17 |
| 18 void allImagesLoaded(ImageMap loader) { | 18 void allImagesLoaded(ImageMap loader) { |
| 19 _loader = loader; | 19 _loader = loader; |
| 20 | 20 |
| 21 fetchBody("res/sprites.json").then((Response response) { | 21 fetchBody("res/sprites.json").then((Response response) { |
| 22 String json = response.bodyAsString(); | 22 String json = response.bodyAsString(); |
| 23 _spriteSheet = new SpriteSheet(_loader["res/sprites.png"], json); | 23 _spriteSheet = new SpriteSheet(_loader["res/sprites.png"], json); |
| 24 allResourcesLoaded(); | 24 allResourcesLoaded(); |
| 25 }); | 25 }); |
| 26 } | 26 } |
| 27 | 27 |
| 28 GameDemoApp _app; |
| 29 |
| 28 void allResourcesLoaded() { | 30 void allResourcesLoaded() { |
| 29 runApp(new GameDemoApp()); | 31 _app = new GameDemoApp(); |
| 32 runApp(_app); |
| 30 } | 33 } |
| 31 | 34 |
| 32 class GameDemoApp extends App { | 35 class GameDemoApp extends App { |
| 33 | 36 |
| 34 Widget build() { | 37 Widget build() { |
| 35 return new Stack([ | 38 return new Stack([ |
| 36 new SpriteWidget(new GameDemoWorld(_loader, _spriteSheet)), | 39 new SpriteWidget(new GameDemoWorld(_app, _loader, _spriteSheet)), |
| 37 // new StackPositionedChild( | 40 // new StackPositionedChild( |
| 38 // new Flex([ | 41 // new Flex([ |
| 39 // new FlexExpandingChild( | 42 // new FlexExpandingChild( |
| 40 // new RaisedButton(child:new Text("Hello")), | 43 // new RaisedButton(child:new Text("Hello")), |
| 41 // key: 1 | 44 // key: 1 |
| 42 // ), | 45 // ), |
| 43 // new FlexExpandingChild( | 46 // new FlexExpandingChild( |
| 44 // new RaisedButton(child:new Text("Foo!")), | 47 // new RaisedButton(child:new Text("Foo!")), |
| 45 // key: 2 | 48 // key: 2 |
| 46 // ) | 49 // ) |
| 47 // ]), | 50 // ]), |
| 48 // right:0.0, | 51 // right:0.0, |
| 49 // top: 20.0 | 52 // top: 20.0 |
| 50 // ) | 53 // ) |
| 51 ]); | 54 ]); |
| 52 } | 55 } |
| 53 } | 56 } |
| 54 | 57 |
| 58 void resetGame() { |
| 59 _app.scheduleBuild(); |
| 60 } |
| 61 |
| 55 ImageMap _loader; | 62 ImageMap _loader; |
| 56 SpriteSheet _spriteSheet; | 63 SpriteSheet _spriteSheet; |
| OLD | NEW |