Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
dcd17aef
Commit
dcd17aef
authored
Aug 25, 2015
by
Viktor Lidholt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adds constraint for rotating a node towards another node
parent
dc315931
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
0 deletions
+27
-0
constraint.dart
examples/game/lib/constraint.dart
+27
-0
No files found.
examples/game/lib/constraint.dart
View file @
dcd17aef
...
...
@@ -18,6 +18,7 @@ double _dampenRotation(double src, double dst, double dampening) {
class
ConstraintRotationToMovement
{
ConstraintRotationToMovement
([
this
.
baseRotation
=
0.0
,
this
.
dampening
]);
final
double
dampening
;
final
double
baseRotation
;
...
...
@@ -41,3 +42,29 @@ class ConstraintRotationToMovement {
node
.
rotation
=
_dampenRotation
(
node
.
rotation
,
target
,
dampening
);
}
}
class
ConstraintRotationToNode
{
ConstraintRotationToNode
(
this
.
targetNode
,
[
this
.
baseRotation
,
this
.
dampening
]);
final
Node
targetNode
;
final
double
baseRotation
;
final
double
dampening
;
void
constrain
(
Node
node
,
double
dt
)
{
Offset
offset
;
if
(
targetNode
.
parent
==
node
.
parent
)
{
offset
=
targetNode
.
position
-
node
.
position
;
}
else
{
offset
=
node
.
convertPointToBoxSpace
(
Point
.
origin
)
-
targetNode
.
convertPointToBoxSpace
(
Point
.
origin
);
}
double
target
=
degrees
(
GameMath
.
atan2
(
offset
.
dy
,
offset
.
dx
))
+
baseRotation
;
if
(
dampening
==
null
)
node
.
rotation
=
target
;
else
node
.
rotation
=
_dampenRotation
(
node
.
rotation
,
target
,
dampening
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment