【问题标题】:How to hide and show scenes using three.js如何使用three.js隐藏和显示场景
【发布时间】:2013-06-27 19:38:14
【问题描述】:

我正在使用 Three.js webgl 库创建场景。我在第一个场景中有纹理。单击此纹理,我正在尝试导航到下一个场景。我已经编写了一个函数来处理这个场景以移动到下一个场景。单击此纹理,它按预期移动到第二个场景,但它显示在第一个场景的顶部。所以,我想知道如何以编程方式显示或隐藏场景。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    你可以使用类似的东西:

    function setVisibility (parent, node)
    {
        node.visible = parent.visible;
    }
    
    function traverseVisibility (parent, callback)
    {
        var child, i, num_children = parent.children.length;
    
        for (i = num_children - 1; i >= 0; i--)
        {
            child = parent.children[i];
            callback (parent, child);
            traverseVisibility (child, callback);
        }
    }
    
    yourNode.visible = false; // or true
    
    traverseVisibility (yourNode, setVisibility);
    

    【讨论】:

    • 这里的父节点和节点是什么意思?
    • 我认为代码很明显。 Traceback 调用 setvisibility 和 traverseVisibility。查看列出代码的最后一行。 Parent 是您要隐藏的节点(或场景)。
    • 我假设你在场景 1 上应用了这个?你能展示一些关于场景创建和渲染器调用的代码吗?
    • 在scene2的开头我已经给出了这个代码,然后是scene2的创建。我能在某个地方得到这个示例代码吗?
    • 这是我提供编码的链接。请帮助。 stackoverflow.com/questions/17361463/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多