Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: sky/examples/game/lib/game_demo_box.dart

Issue 1179333002: Playable demo game and bug fixes in sprites (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/examples/game/lib/game_demo_box.dart
diff --git a/sky/examples/game/lib/game_box.dart b/sky/examples/game/lib/game_demo_box.dart
similarity index 52%
rename from sky/examples/game/lib/game_box.dart
rename to sky/examples/game/lib/game_demo_box.dart
index f3849ba73825c03a45a4e2570b3dcd8c39d9df8c..85132e1ddd2c0f05b724c50c0b76491198c5709c 100644
--- a/sky/examples/game/lib/game_box.dart
+++ b/sky/examples/game/lib/game_demo_box.dart
@@ -1,22 +1,22 @@
part of game;
-const double _steeringThreshold = 20.0;
-const double _steeringMax = 50.0;
+const double _steeringThreshold = 0.0;
+const double _steeringMax = 150.0;
-class GameBox extends SpriteBox {
+class GameDemoBox extends SpriteBox {
- GameBox(GameWorld game) : super(game, SpriteBoxTransformMode.letterbox);
+ GameDemoBox(GameDemoWorld game) : super(game, SpriteBoxTransformMode.letterbox);
- GameWorld get _gameWorld => this.rootNode;
+ GameDemoWorld get _gameWorld => this.rootNode;
// Handle pointers
int _firstPointer = -1;
int _secondPointer = -1;
- Vector2 _firstPointerDownPos;
+ Point _firstPointerDownPos;
void handleEvent(Event event, BoxHitTestEntry entry) {
if (event is PointerEvent) {
- Vector2 pointerPos = new Vector2(event.x, event.y);
+ Point pointerPos = new Point(event.x, event.y);
int pointer = event.pointer;
switch (event.type) {
@@ -29,7 +29,7 @@ class GameBox extends SpriteBox {
else if (_secondPointer == -1) {
// Assign second pointer
_secondPointer = pointer;
- _gameWorld.controlThrust(1.0);
+ _gameWorld.controlFire();
}
else {
// There is a pointer used for steering, let's fire instead
@@ -39,14 +39,23 @@ class GameBox extends SpriteBox {
case 'pointermove':
if (pointer == _firstPointer) {
// Handle turning control
- double deltaX = pointerPos[0] - _firstPointerDownPos[0];
+ double joystickX = 0.0;
+ double deltaX = pointerPos.x - _firstPointerDownPos.x;
if (deltaX > _steeringThreshold || deltaX < -_steeringThreshold) {
- double turnForce = (deltaX - _steeringThreshold)/(_steeringMax - _steeringThreshold);
- if (turnForce > 1.0) turnForce = 1.0;
- if (turnForce < -1.0) turnForce = -1.0;
- _gameWorld.controlSteering(turnForce);
- print("steering: $turnForce");
+ joystickX = (deltaX - _steeringThreshold)/(_steeringMax - _steeringThreshold);
+ if (joystickX > 1.0) joystickX = 1.0;
+ if (joystickX < -1.0) joystickX = -1.0;
+ }
+
+ double joystickY = 0.0;
+ double deltaY = pointerPos.y - _firstPointerDownPos.y;
+ if (deltaY > _steeringThreshold || deltaY < -_steeringThreshold) {
+ joystickY = (deltaY - _steeringThreshold)/(_steeringMax - _steeringThreshold);
+ if (joystickY > 1.0) joystickY = 1.0;
+ if (joystickY < -1.0) joystickY = -1.0;
}
+
+ _gameWorld.controlSteering(joystickX, joystickY);
}
break;
case 'pointerup':
@@ -55,11 +64,11 @@ class GameBox extends SpriteBox {
// Un-assign the first pointer
_firstPointer = -1;
_firstPointerDownPos = null;
- _gameWorld.controlSteering(null);
+ _gameWorld.controlSteering(0.0, 0.0);
}
else if (pointer == _secondPointer) {
_secondPointer = -1;
- _gameWorld.controlThrust(null);
+ _gameWorld.controlFire();
}
break;
default:

Powered by Google App Engine
This is Rietveld 408576698