Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Misalignment of the hittest area of PolygonHitbox #2930

Merged
merged 6 commits into from
Dec 17, 2023

Conversation

organic-nailer
Copy link
Contributor

Description

When performing a pointer hit test using PolygonHitbox, there may be a discrepancy between the expected range and the range in which the hit test succeeds. If the polygon shape has an offset at the top left, the hit test will behave as if there is no offset.

Investigation revealed that the cause was in the calculation of containsLocalPoint() in the PolygonComponent. The unnecessary offset calculation was removed, and the hit test is now performed in the expected range.

Checklist

  • I have followed the Contributor Guide when preparing my PR.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples or docs.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

Related Issues

Closes #2758

Copy link
Member

@spydon spydon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for looking into this! I've been meaning to look into this for months.

import 'package:test/test.dart';

void main() {
group('PolygonComponent', () {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you move this to shape_component_test where the other tests for this are?
There are some inconsistencies of which directories the tests live currently so it can be quite hard to find the correct place. 😅

@spydon
Copy link
Member

spydon commented Dec 17, 2023

If you run melos format locally it should fix the formatting issue.

Copy link
Member

@spydon spydon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm!

@spydon spydon merged commit dbdb137 into flame-engine:main Dec 17, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HasGestureHitboxes is slightly off
2 participants