From 8b4d02018eacaf1e8d312db6e109abdb74973a7f Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Tue, 28 Jul 2015 17:19:56 -0700 Subject: [PATCH 1/2] Fixes compilation errors in sprites --- packages/flutter/example/game/lib/node.dart | 4 ++-- packages/flutter/example/game/lib/sprite.dart | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/flutter/example/game/lib/node.dart b/packages/flutter/example/game/lib/node.dart index 97eb09ea2a0..66e8cfe6efa 100644 --- a/packages/flutter/example/game/lib/node.dart +++ b/packages/flutter/example/game/lib/node.dart @@ -416,7 +416,7 @@ class Node { } void _prePaint(PaintingCanvas canvas) { - _savedTotalMatrix = canvas.getTotalMatrix(); + _savedTotalMatrix = new Matrix4.fromFloat32List(canvas.getTotalMatrix());; // Get the transformation matrix and apply transform canvas.concat(transformMatrix.storage); @@ -467,7 +467,7 @@ class Node { } void _postPaint(PaintingCanvas canvas) { - canvas.setMatrix(_savedTotalMatrix); + canvas.setMatrix(_savedTotalMatrix.storage); } // Receiving update calls diff --git a/packages/flutter/example/game/lib/sprite.dart b/packages/flutter/example/game/lib/sprite.dart index 6c30c1148c5..afccb1ab53c 100644 --- a/packages/flutter/example/game/lib/sprite.dart +++ b/packages/flutter/example/game/lib/sprite.dart @@ -68,7 +68,7 @@ class Sprite extends NodeWithSize { void paint(PaintingCanvas canvas) { // Store old matrix - Matrix4 savedMatrix = canvas.getTotalMatrix(); + Matrix4 savedMatrix = new Matrix4.fromFloat32List(canvas.getTotalMatrix()); // Account for pivot point applyTransformForPivot(canvas); @@ -113,6 +113,6 @@ class Sprite extends NodeWithSize { } // Restore matrix - canvas.setMatrix(savedMatrix); + canvas.setMatrix(savedMatrix.storage); } } From fbb645bb92a6f9fc9ce39fc9836cdd83f7266b02 Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Tue, 28 Jul 2015 17:21:06 -0700 Subject: [PATCH 2/2] Fixes compilation error in demo game and adds auto scrolling star field --- .../flutter/example/game/lib/game_demo_world.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/flutter/example/game/lib/game_demo_world.dart b/packages/flutter/example/game/lib/game_demo_world.dart index f5bf2524ac0..6ee0c018d21 100644 --- a/packages/flutter/example/game/lib/game_demo_world.dart +++ b/packages/flutter/example/game/lib/game_demo_world.dart @@ -561,9 +561,10 @@ class Laser extends Sprite { // Background starfield -class StarField extends Node { - Image _image; +class StarField extends NodeWithSize { + sky.Image _image; int _numStars; + bool _autoScroll; List _starPositions; List _starScales; List _rects; @@ -573,7 +574,7 @@ class StarField extends Node { ..isAntiAlias = false ..setTransferMode(sky.TransferMode.plus); - StarField(SpriteSheet spriteSheet, this._numStars) { + StarField(SpriteSheet spriteSheet, this._numStars, [this._autoScroll = false]) : super(new Size(1024.0, 1024.0)) { _starPositions = []; _starScales = []; _colors = []; @@ -618,6 +619,12 @@ class StarField extends Node { _starPositions[i] = new Point(xPos, yPos); } } + + void update(double dt) { + if (_autoScroll) { + move(dt * 100.0, 0.0); + } + } } class Hud extends NodeWithSize {