首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何复制Verold中的对象?

如何复制Verold中的对象?
EN

Stack Overflow用户
提问于 2014-11-09 18:14:34
回答 1查看 38关注 0票数 1

每次在Verold中单击对象时,我都试图复制它。我已经将对象选择器附加到场景中,并成功地触发了打印到控制台的功能。

我尝试过这段代码,但是我得到了一个Type错误--无法读取未定义的属性。

代码语言:javascript
复制
var xxx = this.getEntity().clone();
var threeDataxxx = xxx.getThreeData();
threeDataxxx.position.x += Math.random() * 5;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-10 14:04:15

clone()方法是异步的(因为如果要在服务器上创建对象的持久副本,则使用相同的方法)。这个函数和Verold中的许多函数一样,以一个“options”对象作为参数。在这里,您需要指定“成功”回调方法,如下例所示。获得克隆后,需要使用addChild()方法将其添加到场景层次结构中。这将自动触发要加载的克隆对象。

代码语言:javascript
复制
var parent = this.getEntity().getParentObject();
this.getEntity().clone( {
    success: function( newEntity ) {
        parent.addChild( newEntity );
        var position = newEntity.getPosition();
        position.x += Math.random() * 10;
        newEntity.setPosition( position.x, position.y, position.z );
    }
});

多个步骤是有用的,因为您可能希望克隆几个对象,并让它们准备好在以后添加到场景中。

当然,如果不需要克隆对象具有组件或VeroldObject的任何其他功能,则始终可以获取threeData,然后使用Three.js的克隆()方法。

希望这能有所帮助。

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

https://stackoverflow.com/questions/26831525

复制
相关文章

相似问题

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