0

我正在尝试在我的 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 中是不可能的,那么我需要寻找允许我这样做的替代库。

4

2 回答 2

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,yz属性是按顺序设置的,因为这一切都会在渲染新帧之前发生。

于 2012-11-29T17:50:45.460 回答
0

我知道您正在使用 GTWeener,但您可能想要降低一层并使用 GTWeen 类(GWTeener 使用该类来简化补间过程)。

它有一个onChange属性,它是一个回调函数,在补间过程中被调用。从理论上讲,您可以setPosition()从回调函数中调用该方法,以使缩放操作更顺畅。

为了做到这一点,我假设您实际上必须对其他一些属性进行补间,因此这可能行不通或不是一个好主意。纯粹是我的猜测,因为我从未使用过 GTween 或 GTweener ...我只查看了文档。

注意:您可能还需要将dispatchEvents属性设置为 true 以获取 true 以执行回调。

于 2012-11-29T05:12:31.290 回答