首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >透视MovieClip

透视MovieClip
EN

Stack Overflow用户
提问于 2011-06-01 06:36:33
回答 1查看 435关注 0票数 0

我想要一个有一定深度的MovieClip。我不能使用rotationX、rotationY或rotationZ,因为我必须使用FlashCS3。

第一张图片是我现在拥有的,一个平面的电影。第二个是我应该拥有的东西。

我已经试过用矩阵了,但那不管用。我给a question摆了个姿势,有人说我应该用3D引擎来得到我想要的结果。

因为MovieClip必须是3D的,所以我现在用的是MovieClipSprite。

代码语言:javascript
复制
var movieClipSprite:MovieClipSprite = new MovieClipSprite(myMC);
var view:View3D = new View3D({x:200,y:200});
        
var cam:Camera3D = new Camera3D();
cam.zoom = 1;
cam.y = 100;            
view.camera = cam;
cam.lookAt(new Number3D(0, 0, 0));
    
this.addChild(view);
view.scene.addSprite(movieClipSprite);
view.render();

不管我怎么换相机,我总是得到同样的结果。扁平的电影。

然后我阅读了Away3D文档

MovieClipSprite:球形广告牌(总是面向摄像机)精灵对象,它使用电影的纹理。在场景中用z排序三角形绘制单独的显示对象.

我认为这就是为什么它总是给出同样的结果。

我也尝试了一些与MovieMaterial,但我从来没有做到这一点。

你能帮我把我的电影看清楚吗?

非常感谢!

文森

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-08 12:07:17

"view.render“在enter_frame函数中吗?

对我来说,它适用于闪存开发& Away3d 4.0:

代码语言:javascript
复制
    public var aSprite:Plane = new Plane(new ColorMaterial(0xFF0000));
    public var cam:Camera3D = new Camera3D();
    public var view:View3D = new View3D(null,cam);

    public function test() 
    {
        this.addChild(view);

        var vec:Vector3D = new Vector3D();
        cam.y = -300;
        cam.lookAt(vec);

        view.scene.addChild(aSprite);
        this.addEventListener(Event.ENTER_FRAME, onFrame);
    }

    public function onFrame(e:Event):void
    {
        view.render();
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6197192

复制
相关文章

相似问题

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