Refactor: refactor `changeProperty` and delete `changeStyle`
sheepbox8646 opened this issue · 3 comments
In most of case, you can use changeProperty
API to custom your attributes animation, but in recent using, i find many bug and unexpected points.
Bugs
If you use move
animation and only provide a parameter to
(like following codes, and the origin of move
are also changeProperty
without from and to), the animation will be loaded no longer correct, the time will get into wrong.
circle.animate(move, 0, 30, {
to: [400, 400] // The animation will loaded wrong duration but it will not throw any error
})
Features
Usage
changeProperty('style.xxx', 0, 100)
changeProperty(['from[0]', 'to[0]'], [111, 222], [222, 333])
changeProperty(['style.attr1', 'attr2'], [0, 0], [100, 100])
Usage On Widget
circle.animate(changeProperty<Circle>(['x', 'style.x']), 0, 30, {
to: [100, 200] // You can doesn't provide the parameter `from`, but if you want, that is allowed ^_^
})
And if changeProperty
support like style.xxx
grammar, changeStyle
is no longer needed.
Who can implement this issue? Please comment under this issue and I'll assign to you to finish this work.
BUG LOCATED: The unit system just added, who set elapsed
wrongly in app.ts:121
, caused this issue. I'll consider replace the unit system with a new one.
Feature Request:
/// move.ts
export const move = changeProperty(['x', 'y'])
/// myOwnAnim.ts
// `override` method aims to override the `defaultFrom`, `defaultTo` and `by`
// which is already determined in original declaration
widget.animate(move.override({ to: [1000, 500] }))
okay