+ | backward : bool |
是否倒序播放。默认值为false。
|
+ | current : uint |
动画当前播放时间。
|
+ | holder : object |
动画的所有者容器。 |
+ | loop : bool |
是否循环播放。默认值为false。
|
+ | name : string |
动画的逻辑名称。
|
+ | pause : bool |
true 的时候为暂停,false 的时候为播放,play 方法会强制设置该属性为 false。
|
+ | pri : uint |
动画的优先级。数值越大优先级越高。播放动画时会按优先级的顺序分配权重。
|
+ | resname : string |
动画的资源文件名。更改这个属性,动画会使用的新资源名重新加载。
|
+ | speed : number |
动画的播放速度。默认值为1.0。
|
+ | weight : number |
动画更新的权重。取值范围是[0, 1]。默认值为1.0。
|
+ | duration : uint |
动画的总持续时间。
|
+ | graEvent : _GraphicsEvent |
动画的graphicEvent。
|
+ | isPlaying : bool |
动画是否播放。
|
+ | function _Animation(animaList : array) |
|
+ | function _Animation(resname : string) |
|
+ | function combine(anima : _Animation) |
合并动画。
|
+ |
function disableDeltaTransform(p : string) function disableDeltaTransform(p : uint) |
关闭动画变换。
|
+ |
function enableDeltaTransform(p : string) function enableDeltaTransform(p : uint) |
允许动画的变换。
|
+ |
function getDeltaTransform(p : string, out : _Matrix3D) : _Matrix3D function getDeltaTransform(p : uint, out : _Matrix3D) : _Matrix3D |
获取动画的变换。 |
+ |
function getKeyframe(p : string, index : uint[, out : _Matrix3D]) function getKeyframe(p : uint, index : uint[, out : _Matrix3D]) |
获取指定的关键帧。 |
+ |
function getKeyframeCount(p : string) function getKeyframeCount(p : uint) |
获取指定关键帧的数量。
|
+ | function getKeyframes() |
获取动画关键帧。
|
+ |
function lock(p : string) function lock(p : uint) |
锁定一个指定的轨迹。
|
+ | function onEvent(callback) : _Animation |
|
+ | function onStop(callback) |
|
+ | function play([duration : uint]) |
播放动画。
|
+ | function save(resname : string) |
保存动画文件。
|
+ |
function seek(t : number) : _Animation function seek(t : string) : _Animation |
查找目标帧
|
+ | function skip(time : uint) |
动画静止一段时间不刷新。
|
+ | function stop() |
停止播放动画。
|
+ | function stopPfxEvents(stopnow : bool) |
停止特效事件。
|
+ | function triggerEvents() |
触发动画事件。
|
+ |
function unlock(p : string) function unlock(p : uint) |
解锁一个指定的轨迹。
|
_sys:addPath('res')_dofile('cameracontrol.lua')_rd.camera.eye = _Vector3.new(20, -30, 16)_rd:useLight(_AmbientLight.new())_rd:useLight(_SkyLight.new())mat = _Matrix3D.new():setTranslation(0, 0, -9)role = _Mesh.new()role:addSubMesh('arm.skn')role:addSubMesh('face.skn')role:addSubMesh('hair.skn')role:addSubMesh('body2.skn')role:addSubMesh('leg2.skn')skl = _Skeleton.new('girl.skl')skn = _Mesh.new('sword.msh')mrw = skl:getBoneTransform('rw')skl = skn:attachSkeleton(skl, 'rw', mrw)role:attachSkeleton(skl)i = _Animation.new('idle.san')i.name = 'idle'font = _Font.new('Arial', 10)font.textColor = _Color.Yellowlocal playing = false_app:onKeyDown(function(key) if key == _System.Key1 then Key1Down() elseif key == _System.Key2 then san = skl:addAnima('san1.san') san:play() elseif key == _System.Key3 then san = skl:addAnima('san2.san') san:play() endend)function Key1Down() if not playing then san = skl:addAnima(i) san.loop = true san:play() playing = true else skl:delAnima('idle') playing = false endend_app:onIdle(function(e) font:drawText(0, 0, 'Press 1 to play and stop') font:drawText(0, 14, 'Press 2 to attack1') font:drawText(0, 28, 'Press 3 to attack2') _rd:pushMatrix3D(mat) role:drawMesh() skn:drawMesh() _rd:popMatrix3D()end)