Hi folks.
I've hack an implementation for the "inheritance" mechanism of tween
objects properties.
This thread started at
http://lists.caurinauebi.com/pipermail/tweener-caurinauebi.com/2007-May/000074.h
tml
The idea is that a new property will be check when adding a tween, the
"base" property.
The "base" property can be an object or an array with object to extend.
Properties will be copied to the tween from left to right, meaning that
objects with higher indexes will overwrite previous objects.
For example if we have:
var obj1 : Object = { time:3, delay = 2, transition: "linear"};
var obj2 : Object = { time:null, delay = 4, _x: 20};
var final : Object = {_y= 30, base: [obj1, obj2]};
Tweener.addTween(someObj, final);
In this case, the final object will look like this:
final = {
_y: 30,
_x: 20,
delay: 4,
transition: "linear"
}
The base property can also be a single object, in which case:
var obj1 : Object = { time:3, delay = 2, transition: "linear"};
var final : Object = {_y= 30, base: obj1};
Tweener.addTween(someObj, final);
In this case, the final object will look like this:
final = {
_y: 30,
delay: 2,
time:3,
transition: "linear"
}
If an object with higher precedence has a property set to null, that
property will be removed from the composite object.
No objects are modified, but only a shallow copy is made.
Zeh: I've decided not to mangle with Tweener's code. Instead I moved the
inheritance to a function:
public static function makePropChain(p_obj : Object) : Object
This way this can be used in addCaller and addTween alike.
For me, it would make sense if it lived on the TweenListObj.
I've done some initial testings for as2 and as3, and it looks okay.
If you find this any issues, please let me know,
cheers
arthur
Original issue reported on code.google.com by debert on 12 May 2007 at 10:37
Original issue reported on code.google.com by
debert
on 12 May 2007 at 10:37Attachments: