1

私は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);
}

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

 Uncaught TypeError: sphere.setRGBColor is not a function
4

1 に答える 1

1

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

TypeScript を使用している場合、void 関数のみをnew演算子で呼び出すことができます。上記のように、シグネチャに戻り値の型を指定して関数を呼び出すとsetRGBColor、トランスパイルされた JavaScript で関数が未定義になります。

これはBabylon JS プレイグラウンドで試すことができます。

于 2016-07-25T23:35:24.957 に答える