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 gesture detection on children #636

Merged
merged 6 commits into from
Jan 20, 2021
Merged

Conversation

spydon
Copy link
Member

@spydon spydon commented Jan 18, 2021

Description

Since the children aren't positioned in an absolute manner their gesture detection was off, this is fixed by taking the parent into account recursively.

Fixes #635

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

If something is unclear, please submit the PR anyways and ask about what you thought was unclear.

  • This branch is based on the latest master
  • I have added an entry under [next] in CHANGELOG.md
  • I have formatted my code with flutter format
  • The continuous integration (CI) is passing

Copy link
Member

@erickzanardo erickzanardo left a comment

Choose a reason for hiding this comment

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

LGTM, just linking this to #635 as this probably fix that issue.

Copy link
Contributor

@wolfenrain wolfenrain left a comment

Choose a reason for hiding this comment

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

LGTM, just one nit

lib/components/position_component.dart Outdated Show resolved Hide resolved
@@ -25,6 +24,9 @@ abstract class PositionComponent extends BaseComponent {
/// The position of this component on the screen (relative to the anchor).
Vector2 position = Vector2.zero();

/// If the component has a [PositionComponent] as a parent it will be set here
PositionComponent _positionParent;
Copy link
Member

Choose a reason for hiding this comment

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

should we just store BaseComponent parent and we can check is Position where it's used? having the parent can be useful for other things

Copy link
Member Author

Choose a reason for hiding this comment

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

That is a good idea! Maybe later we can expose a getter for the parent too.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed!

Copy link
Member

@luanpotter luanpotter left a comment

Choose a reason for hiding this comment

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

LGTM with one suggestion

@spydon spydon force-pushed the spydon.fix-child-gesture-bug branch from 1823181 to fb5884a Compare January 20, 2021 12:39
@spydon spydon merged commit d007019 into master Jan 20, 2021
@spydon spydon deleted the spydon.fix-child-gesture-bug branch January 20, 2021 12:44
spydon added a commit that referenced this pull request Feb 24, 2021
* Update README to point at rc5 (#630)

* Update README to point at rc5

* Update README.md

* 👌 Throw exception from `parseAnchor` in `examples/widgets` instead of returning null (#632)

* Updated the widgets docs (#628)

Co-authored-by: Erick <erickzanardoo@gmail.com>

* Removing initialDimensions and removeGesture methods (#627)

* Removing initialDimensions and removeGesture methods

* Removing wrongly commited folder

* PR suggestion

* Making SpriteComponent and SpriteAnimationComponent follow the same standard for empty constructors (#620)

* Added fallback support for the web on the `SpriteBatch` API (#612)

* Added fallback support for the web on the `SpriteBatch` API

* Refactored the SpriteBatch class

* 👌 Use `Offset` type directly in `JoystickAction.update` calculations (#631)

* Move files to src and comply with the dart package layout convention (#621)

* 👌 Use `Offset` type directly in `JoystickAction.update` calculations (#631)

* Move files to src and comply with the dart package layout convention

* Fixing widgets example

Co-authored-by: Serge Matveenko <lig@countzero.co>
Co-authored-by: Erick Zanardo <erickzanardoo@gmail.com>

* Fix gesture detection on children (#636)

* Fix gesture detection on children

* Remove unused imports

* positionParent should be private

* Fixed comment

* Moved parent to BaseComponent

* Fix formatting

* Initial implementation of the Composition class. (#634)

* Initial implementation of the Composition class

* Added decodeImageFromPixels web support

* Added a `required` to GameWidget and updated the docs (#638)

* Added a required to GameWidget and updated the docs

* Removed entry from CHANGELOG

* Release v1.0.0-rc6 (#639)

* Add hitbox to PositionComponent (#618)

* Move out collision detection methods

* Add possibility to define a hull for PositionComponents

* Add example of how to use hull with tapable

* Update contains point comment

* Fix contains point

* Hull should be based on center position

* Remove collision detection parts

* Added tests

* Use percentage of size instead of absolute size

* Separate hull from PositionComponent

* Clarify hull example

* Fix formatting

* Override correct method

* Use mixin for hitbox

* Update changelog

* Rename HasHitbox to Hitbox

* Clarified names

* Center to edge is considered as 1.0

* Fix test

* Add spaces within braces

* Removed extra spaces in the braces

* Add hitbox docs

* Fix link

* Moved point rotation to Vector2 extension

* Render hitbox within extension

* Fix rebase

* Fix rebase

* Fix formatting

* Removing Util.dart and moving its remaining parts to better places (#640)

* Removing Util.dart and moving its remaining parts to better places

* Fixing lint

* Doc fixes

* Doc fixes

* PR suggestions

* Adapting SpriteBatchComponent constructors to other components (#643)

* Adapting ParallaxComponent constructors to other components (#642)

* Adapating ParallaxComponent constructors to other components

* Removing wrongly commited folder

* Update doc/components.md

Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>

* Update doc/components.md

Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>

Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>

* Updating mds with recently 0.x patches

* 🏷 Null safety support

Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com>
Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
Co-authored-by: Erick <erickzanardoo@gmail.com>
Co-authored-by: Renan <6718144+renancaraujo@users.noreply.github.com>
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.

Nested components cannot trigger click events
4 participants