2016-10-15 10 views
4

Three.jsをv73からv81に更新しました。私はこのエラーを取得してい :release documentsをご覧の上、Three.js toShapes()がv81の新しいクラスに移動し、アクセスする方法

Uncaught TypeError: path.toShapes is not a function

、私が見つかりました:パスに

変更:

  • .ACTIONS(イェーイ)を処分した
  • getPointsを()をCurvePathに移動
  • toShapes()を新しいクラスに移動ShapePath

私のコードセグメントはこれです:

var shapes = []; 
for (var i = 0; i < paths.length; ++i) { 
    // Turn each SVG path into a three.js shape 
    var path = d3.transformSVGPath(paths[i]); 
    // We may have had the winding order backward. 
    **var newShapes = path.toShapes(effectController.reverseWO);** 
    // Add these three.js shapes to an array. 
    shapes = shapes.concat(newShapes); 
} 

私はケースにPath.jsをインポートしたので、私はそれが役立つだろうどこにもTHREE.Path見つけることができませんでしたが、無駄に。私はThree.jsの新人だから、それがノブの質問かどうかわからないが、私は今それを1日はしており、それを理解することはできない。

答えて

2

ShapePathクラスには、お探しのメソッドが含まれています:.toShapes()exampleドキュメントへのリンクにもutilizes this method

path = $d3g.transformSVGPath(thePaths[i]); 
... 
simpleShapes = path.toShapes(true); 

問題が.transformSVGPath()方法を含むd3-threeDソースはまだ​​を定義することです。

... 
function transformSVGPath(pathStr) { 
    var path = new THREE.ShapePath(); 
... 

私はあなたが例のソースを追跡し、更新が含ま推薦する:D3-threeD由来/取られますが、THREE.ShapePath()を使用するように更新されsnippet of codeがあることがexample

お知らせ、 .transformSVGPath()THREE.ShapePath()を使用する方法。

関連する問題