2014-10-09 26 views
2

第一篇文章在這裏堆棧溢出...如何獲得three.js所精靈在Verold腳本

我已經與基於世界編輯器three.js所玩弄所謂verold。它有一些很棒的功能,但我遇到了腳本設置的問題。

我想實現一個THREE.Sprite()並將其作爲一個對象的組件附加。

這是我已經試過:

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紋理。

當此腳本作爲場景的組件添加時,該項目運行,但根本看不到任何精靈。

我已經嘗試在定期的three.js項目中成功複製此代碼。

任何人都可以提供解決方案嗎?

謝謝。

回答

2

您的代碼有幾個小問題。否則,它工作正常。 首先,mySprite.location應該是mySprite.position。也許早期版本的Three.JS使用'位置'?

第二個問題是對「場景」的引用沒有定義。在腳本中,可以調用'this.getThreeScene()'將引用返回到THREE.Scene,該腳本所附的對象是其中的一部分。

+0

感謝邁克,這解決了它。不知道爲什麼我打電話。位置,我想我從前面的例子中複製它! – 2014-10-09 21:50:01

相關問題