首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用补间来补间3d坐标

使用补间来补间3d坐标
EN

Stack Overflow用户
提问于 2011-02-27 06:34:19
回答 1查看 1.4K关注 0票数 0

我正在尝试使用AS3将精灵补间到新的3D坐标(x,y,z),我想使用TweenLite来实现,但我不知道怎么做?

我不是一个非常有经验的程序员,我只是开始处理flash 10的3d可能性,到目前为止,Tweenlite对我的动画非常有帮助。

我一直在尝试这样使用QuaternionsPlugin:

代码语言:javascript
复制
TweenLite.to(myMc, 2, {quaternions:{orientation:new Quaternion(x, y, z, w)}});

有x,y,z属性,但我不知道w代表什么。我在下面的Sprite类中尝试了一个例子,但当我编译它时,它显示: 1180: Call to an undefined method Quaternion。

代码语言:javascript
复制
package com{
import flash.display.*;
import flash.events.*;  
import com.greensock.TweenLite; 
import com.greensock.plugins.TweenPlugin; 
import com.greensock.plugins.QuaternionsPlugin;  

TweenPlugin.activate([QuaternionsPlugin]); //activation is permanent in the SWF, so this line only needs to be run once.

public class Carousel extends Sprite {
     public function Carousel():void {      

    }

    public function scrollUp():void{
        TweenLite.to(Mc1, 2, {quaternions:{orientation:new Quaternion(246, 244, 0, 400)}});
        TweenLite.to(Mc2, 2, {quaternions:{orientation:new Quaternion(242, 210, 70, 353)}});
    }

    public function scrollDown():void{
        TweenLite.to(Mc1, 2, {quaternions:{orientation:new Quaternion(242, 290, 60, 360)}});
        TweenLite.to(Mc2, 2, {quaternions:{orientation:new Quaternion(246, 244, 0, 400)}});
    }
}

}

谢谢你的任何提示/帮助,真的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-27 11:10:52

Quanternion对象来自PaperVision3D的数学类,"w“表示旋转的角度,四元数保证旋转的最有效路径。

Vector3D对象有w个属性。Matrix3D的方法使用四元数,因此您可以使用Matrix3D的intropolate()transformVector()方法进行补间,或者您可以简单地在显示对象的x、y和z属性之间进行补间-假设您不需要绝对最有效的渲染。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5130160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档