-1
function render() {
    requestAnimationFrame(render);
    renderer.render(scene, camera);
    // cube animation
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.05;
}

// call render function to render cube

render().cube.rotation.x += 0.9;

I want to access cube.rotation outside of the function. Is this possible?

4

1 回答 1

1

是的,只要cube在范围内,它就是可能的。例如:

(function(){
    var cube = {rotation: {x: 0, y: 0}};

    function render() {
        cube.rotation.x += 0.01;
        cube.rotation.y += 0.05;
    }

    render();

    cube.rotation.x += 0.9; // Valid
})();

cube.rotation.x += 0.9; // NOT Valid

如果您需要全局公开多维数据集,则创建一个全局命名空间。在声明的地方cube做:

var cube = ...;
...
var NAMESPACE = window.NAMESPACE = window.NAMESPACE || {};
NAMESPACE.cube = cube;

然后,您可以使用以下方式在任何地方访问多维数据集:

window.NAMESPACE.cube.rotation.x += 0.9;

替换NAMESPACE为您的命名空间的实际名称。

于 2013-07-28T00:30:36.140 回答