WebGLを学びたくてJSで開発を始めています。私は何年もの間、Java、C++、C# などの強力な型付きクラスを使用してきました。しかし、JSにはクラスがなく、変数が型付けされていないため、JSに大きな問題が発生しています...
だから私はIDEを使っていくつかのコードを完成させようとしています。しかし、「クラス」を作成して、いくつかの IDE でそれを認識させることができません。NetBeans、Cloud9、Eclipse を試した: すべて同じ問題があります。
参考までに、これは私が使用しようとしているクラス(Matrix4f.js)です:
if (typeof(exports) === 'undefined') {
global = typeof(window) !== 'undefined' ? window : this;
}
else {
global = exports;
}
function Matrix4f(array){
var mat4f = new Float32Array(array);
mat4f.translationMatrix = function(x, y, z){
return new Float32Array([
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
x, y, z, 1.0
]);
};
}
Matrix4f.create = function(){
return new Matrix4f([
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
]);
};
Matrix4f.translationMatrix = function(x, y, z){
return new Float32Array([
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
x, y, z, 1.0
]);
};
Matrix4f.scalingMatrix = function(x, y, z){
return new Float32Array([
x, 0.0, 0.0, 0.0,
0.0, y, 0.0, 0.0,
0.0, 0.0, z, 0.0,
0.0, 0.0, 0.0, 1.0
]);
};
global.Matrix4f = Matrix4f;
そのため、Index.html でインポートを行い、他の JS ファイルで次のコードを使用しようとすると、IDE は「Matrix4f」が宣言されていない変数であると表示します
var mat4 = Matrix4f.create();
var mat4_2 = new Matrix4f([0.0]);
だから私は何か間違ったことをしていますか、これは JS を使用した IDE の制限ですか? また、この問題がない IDE はありますか?
私は「最高」を求めているのではなく、完全なコードを使用したいだけです...ただそれだけです! そして、ブラウザで使用しようとすると、正常に動作するため、コードに構文エラーはありません(と思います)。
とにかく、助けてくれてありがとう!