【问题标题】:3D perspective not displayed properly if loaded into another animation如果加载到另一个动画中,3D 透视图无法正确显示
【发布时间】:2013-03-16 03:58:45
【问题描述】:

在过去的一周里,我一直在尝试让 3D 透视图正常工作,但没有成功。我有一个“父”.swf 和另一个“子”.swf 加载到父级中。其中两个“子”.swf 包含 3D 透视/3D 补间。父级的舞台大小为 1000x600 像素,子级为 700x500 像素。加载器非常简单。

var loader:Loader=new Loader();
var mcExternal:MovieClip;
this.addChild(loader);
loader.load(new URLRequest("ani.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,swfIn);
function swfIn(e:Event):void {
    mcExternal=loader.content as MovieClip; 
}

这是加载动画的样子:http://andrewk.wz.cz/test/test.html 这是加载前的动画:http://andrewk.wz.cz/test/ani.html 任何想法

【问题讨论】:

    标签: actionscript-3 flash 3d loader


    【解决方案1】:

    也许perspective projection centre 已关闭。 对于 700x500,默认值位于中间:350,250 因此您可以尝试以下方法:

    this.transform.perspectiveProjection.projectionCenter = new Point(350,250);
    

    或者当它准备好时从加载的内容中设置它:

    function swfIn(e:Event):void {
        mcExternal=loader.content as MovieClip; 
        this.transform.perspectiveProjection.projectionCenter = mcExternal.transform.perspectiveProjection.projectionCenter
    }
    

    尚未测试自己,但听起来这可能是您的问题

    【讨论】:

    • 谢谢。没用。我真的不知道如何解决它。以下是 Flash Pro CS5 的源 .fla 文件。 link
    • 不像预期的那么简单,因为虽然您的文档的透视有一些设置(55 度视野,中心在 250x250),但您的补间还有其他设置(67.1 度视野,中心在 275x200)。无需编码的最简单选项是:1. 转到 ani.fla 中的文档设置(CMD+J/Ctrl+J) 2. 将尺寸从 700x500 更改为 1000x600 但确保勾选“调整 3D 透视角度以保留当前的舞台投影”,这将为您完成所有工作。你的文档会更大,但你的动画在 ani 和 loader 中看起来是一样的
    • 非常感谢!这个想法是我不久前想到的,但我认为它会引起问题。但是我没有意识到我已经屏蔽了所有内容,因此即使加载后舞台的其余部分也不可见。
    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2022-09-25
    相关资源
    最近更新 更多