From 4599f809dc5a659307187585d1dfabdb5616f662 Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Mon, 5 Oct 2015 16:13:32 -0700 Subject: [PATCH 1/2] Makes physics bodies fixture elements settable --- skysprites/lib/physics_body.dart | 74 ++++++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 9 deletions(-) diff --git a/skysprites/lib/physics_body.dart b/skysprites/lib/physics_body.dart index e9446b65e1fb9..d42fa8d98b4d9 100644 --- a/skysprites/lib/physics_body.dart +++ b/skysprites/lib/physics_body.dart @@ -9,10 +9,10 @@ class PhysicsBody { PhysicsBody(this.shape, { this.tag: null, this.type: PhysicsBodyType.dynamic, - this.density: 1.0, - this.friction: 0.0, - this.restitution: 0.0, - this.isSensor: false, + double density: 1.0, + double friction: 0.0, + double restitution: 0.0, + bool isSensor: false, this.linearVelocity: Offset.zero, this.angularVelocity: 0.0, this.linearDampening: 0.0, @@ -23,7 +23,12 @@ class PhysicsBody { this.bullet: false, this.active: true, this.gravityScale: 1.0 - }); + }) { + this.density = density; + this.friction = friction; + this.restitution = restitution; + this.isSensor = isSensor; + } Object tag; @@ -31,10 +36,61 @@ class PhysicsBody { PhysicsBodyType type; - double density; - double friction; - double restitution; - bool isSensor; + double _density; + + double get density => _density; + + set density(double density) { + _density = density; + + if (_body == null) + return; + for(box2d.Fixture f = _body.getFixtureList(); f != null; f = f.getNext()) { + f.setDensity(density); + } + } + + double _friction; + + double get friction => _friction; + + set friction(double friction) { + _friction = friction; + + if (_body == null) + return; + for(box2d.Fixture f = _body.getFixtureList(); f != null; f = f.getNext()) { + f.setFriction(friction); + } + } + + double _restitution; + + double get restitution => _restitution; + + set restitution(double restitution) { + _restitution = restitution; + + if (_body == null) + return; + for(box2d.Fixture f = _body.getFixtureList(); f != null; f = f.getNext()) { + f.setRestitution(restitution); + } + } + + bool _isSensor; + + bool get isSensor => _isSensor; + + set isSensor(bool isSensor) { + _isSensor = isSensor; + + if (_body == null) + return; + for(box2d.Fixture f = _body.getFixtureList(); f != null; f = f.getNext()) { + f.setSensor(isSensor); + } + } Offset linearVelocity; double angularVelocity; From bf4342fa9aa75ceab9078a7e6fb57adf2444de47 Mon Sep 17 00:00:00 2001 From: Viktor Lidholt Date: Tue, 6 Oct 2015 09:28:05 -0700 Subject: [PATCH 2/2] Adds default text style --- examples/game/lib/main.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/game/lib/main.dart b/examples/game/lib/main.dart index 2cb407aa39375..51366d9a40a97 100644 --- a/examples/game/lib/main.dart +++ b/examples/game/lib/main.dart @@ -119,8 +119,10 @@ class GameDemoState extends State { width: 128.0, height: 128.0 ), - new Text( - "Last Score: $_lastScore", + new DefaultTextStyle( + child: new Text( + "Last Score: $_lastScore" + ), style: new TextStyle(fontSize:20.0) ) ],