首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Verold脚本中获取three.js精灵

如何在Verold脚本中获取three.js精灵
EN

Stack Overflow用户
提问于 2014-10-09 00:50:22
回答 1查看 87关注 0票数 2

堆叠溢出的第一个帖子。

我一直在和基于three.js的世界编辑维罗尔德打交道。它有一些很好的特性,但是我遇到了脚本设置方面的问题。

我正在尝试实现一个THREE.Sprite(),并将它作为对象的一个组件来附加。

以下是我尝试过的:

代码语言:javascript
复制
 Component.prototype.objectCreated = function() {
  // this.getThreeData() is available

   this.spriteimage.load({
    load:_.bind(function() {
    this.createImageSprite();
    }, this)
   });
 };


Component.prototype.createImageSprite = function(){

  //Load the spriteimage
  var map = this.spriteimage.threeData;
  var spriteMaterial = new THREE.SpriteMaterial( { map: map, color: "rgb(255,0,0)", fog: true, useScreenCoordinates: false} );
  var mySprite = new THREE.Sprite( spriteMaterial );
  mySprite.scale.set(1,1,1);
  mySprite.location.x = 0.5;
  mySprite.location.y = 0.5;
  mySprite.location.y = 0.5;

  scene.add(mySprite);
};

脚本有一个名为spriteimage的属性,它是一个verold资产-> 2D纹理。

当将此脚本添加为场景的一个组件时,项目将运行,但您根本看不到sprite。

我尝试在一个常规的three.js项目中复制这段代码,并取得了成功。

有人能给出解决办法吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-09 12:36:04

您的代码有几个小问题。否则,它就能正常工作。首先,mySprite.location应该是mySprite.position。也许早期版本的Three.JS使用了“location”?

第二个问题是对“场景”的引用没有定义。在脚本中,您可以调用'this.getThreeScene()‘来返回对此脚本所连接的对象是其一部分的THREE.Scene的引用。

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

https://stackoverflow.com/questions/26268674

复制
相关文章

相似问题

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