我正在尝试在stage3d(使用flare3d 2.0引擎)游戏中进行平滑缩放过渡。
我正在使用GTweener来补充相机,如下所示
GTweener.to(_camera,0.5,{x:pos.x,y:pos.y,z:pos.z});
这很好用,但是我想补间其他属性,只能使用函数设置 ,例如
setRotation(x,y,z);
或
rotateX(value);
我不知道如何调用该函数并将函数参数作为参数传递给GTweerner.to函数
我所知道的另一项工作是将回调函数作为onUpdate属性传递,但我更愿意避免它让事情变得简单。
或者
如果有人确认我在GTweener中不可能,那么我需要寻找可以让我这样做的替代库。
答案 0 :(得分:0)
我知道你正在使用GTWeener,但是你可能想要使用GTWeen类(GWTeener使用它来简化补间过程)。
它有一个onChange属性,它是一个在补间正在进行时调用的回调函数。从理论上讲,您可以在回调函数中调用setPosition()
方法,以使缩放操作更流畅。
为了做到这一点,我假设你必须实际上补间其他一些属性,所以这可能不起作用或者是一个好主意。纯粹的猜测,因为我从未使用过GTween或GTweener ......我只看了文档。
注意:您可能还需要将dispatchEvents属性设置为true才能获得真实,以便执行回调。
答案 1 :(得分:0)
有时,使用线性速度进行补间时,运动中的物体似乎会“闪烁”。通过应用不同的缓动类型,您可能会发现它看起来更平滑。
例如,使用com.gskinner.motion.easing.Cubic.easeInOut
:
GTweener.to(_camera,0.5,{x:pos.x,y:pos.y,z:pos.z}, {ease: Cubic.easeInOut});
我不相信闪烁是由于x
,y
和z
属性是按顺序设置的,因为它会在新帧出现之前发生被渲染。