feat: adjusted flipper anchor

pull/159/head
alestiago 4 years ago
parent 441797025a
commit 1ae00bebf0

@ -159,8 +159,9 @@ class _FlipperAnchor extends JointAnchor {
required Flipper flipper, required Flipper flipper,
}) { }) {
initialPosition = Vector2( initialPosition = Vector2(
flipper.body.position.x + ((Flipper.size.x * flipper.side.direction) / 2), (Flipper.size.x * flipper.side.direction) / 2 -
flipper.body.position.y, (1.65 * flipper.side.direction),
0.15,
); );
} }
} }
@ -178,7 +179,7 @@ class _FlipperAnchorRevoluteJointDef extends RevoluteJointDef {
initialize( initialize(
flipper.body, flipper.body,
anchor.body, anchor.body,
anchor.body.position, flipper.body.position + anchor.body.position,
); );
} }

@ -12,7 +12,7 @@ import 'package:pinball_components/pinball_components.dart';
/// initialize( /// initialize(
/// dynamicBody.body, /// dynamicBody.body,
/// anchor.body, /// anchor.body,
/// anchor.body.position, /// dynabmicBody.body + anchor.body.position,
/// ); /// );
/// ``` /// ```
/// {@endtemplate} /// {@endtemplate}

@ -3,6 +3,7 @@ import 'dart:async';
import 'package:flame/components.dart'; import 'package:flame/components.dart';
import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pinball_components/pinball_components.dart';
extension BodyTrace on BodyComponent { extension BodyTrace on BodyComponent {
void trace({Color color = const Color(0xFFFF0000)}) { void trace({Color color = const Color(0xFFFF0000)}) {
@ -13,6 +14,12 @@ extension BodyTrace on BodyComponent {
mounted.whenComplete(() { mounted.whenComplete(() {
final sprite = children.whereType<SpriteComponent>().first; final sprite = children.whereType<SpriteComponent>().first;
sprite.paint.color = sprite.paint.color.withOpacity(0.5); sprite.paint.color = sprite.paint.color.withOpacity(0.5);
descendants().whereType<JointAnchor>().forEach((anchor) {
final fixtureDef = FixtureDef(CircleShape()..radius = 0.5);
anchor.body.createFixture(fixtureDef);
anchor.renderBody = true;
});
}), }),
); );
} }

@ -1,4 +1,5 @@
import 'package:flame/input.dart'; import 'package:flame/input.dart';
import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:pinball_components/pinball_components.dart'; import 'package:pinball_components/pinball_components.dart';

Loading…
Cancel
Save