2016-06-12 8 views
1

メッシュ(それが正しい方法だ場合、私は知らない)そのようにメッシュ:Javascriptの方法は、私はBabylonJSに非常に新しいだと私はカスタムを作成し

function DragSphere() { 
    this.sphere = BABYLON.Mesh.CreateSphere("sphere", 15, 2, scene); 
    this.sphere.material = new BABYLON.StandardMaterial("sphereMat", scene); 
    ... 
    return (this.sphere); 
} 

DragSphere.prototype.setRGBColor = function(r, g, b) { 
    this.sphere.material.diffuseColor = new BABYLON.Color3(r/255, g/255, b/255); 
} 

だから私その色を更新するために、私のDragSphereSetRGBColor方法を使用したいが、ブラウザは私と一緒に同意しているようだしない:

Uncaught TypeError: sphere.setRGBColor is not a function 

答えて

1

コンストラクタからreturn (this.sphere);文を削除します。

TypeScriptを使用している場合は、new演算子を使用してvoid関数のみを呼び出すことができます。上記のように、そのシグネチャに戻り値の型を持つ関数を呼び出すと、翻訳されたJavaScriptではsetRGBColor関数が未定義になります。

Babylon JS playgroundで試すことができます。

+0

こんにちは、応答のためのTHXしかし、私は活字体^^ –

+0

[OK]を使用していないよ - (私はあなたが常にコンストラクタに返すためのエラーメッセージが出ないと思いますが)同じことがJavaScriptに適用されます。 return文を削除しようとしましたか? @boehm_s – Mark

+0

私のプロジェクトは別のコンピュータにあるので、私はこのWEを試してみるよ、ありがとう;) –

関連する問題