mirror of
https://github.com/MapMakersAndProgrammers/alternativa3d-archive.git
synced 2025-10-26 01:49:05 -07:00
34 lines
850 B
ActionScript
34 lines
850 B
ActionScript
package alternativa.engine3d.animation {
|
|
import alternativa.engine3d.alternativa3d;
|
|
|
|
use namespace alternativa3d;
|
|
|
|
public class ValueKey extends Key {
|
|
public var value:Number;
|
|
|
|
public function ValueKey(time:Number, value:Number) {
|
|
super(time);
|
|
this.value = value;
|
|
}
|
|
|
|
override alternativa3d function interpolate(time:Number, next:Key, key:Key = null):Key {
|
|
var value:Number;
|
|
if (next != null) {
|
|
value = this.value + (ValueKey(next).value - this.value)*(time - this.time)/(next.time - this.time);
|
|
} else {
|
|
value = this.value;
|
|
}
|
|
if (key != null) {
|
|
key.time = time;
|
|
ValueKey(key).value = value;
|
|
return key;
|
|
} else {
|
|
return new ValueKey(time, value);
|
|
}
|
|
}
|
|
|
|
public function toString():String {
|
|
return "[ValueKey " + time + ":" + value + "]";
|
|
}
|
|
}
|
|
} |