正常に動作していたコードがありましたが、WebGL を有効にすると動作しなくなりました。一般に、frameRate ごとにオブジェクトのサイズを変更する関数がありました。
function animate(){
window.requestAnimationFrame(animate);
s.setPosition(s.x - 1, s.y - 1, 0);
}
s.prototype.setPosition = function(x, y, z) {
this.x = x;
this.y = y;
this.z = z;
this.squareMesh.geometry.vertices[0].set( x, y, z);
this.squareMesh.geometry.vertices[1].set( x + this.w - 1, y, z);
this.squareMesh.geometry.vertices[2].set( x + this.w - 1, y - this.h + 1, z);
this.squareMesh.geometry.vertices[3].set( x, y - this.h + 1, z);
}
WebGlを有効にするまで、これはうまく機能していました。有効にすると、オブジェクトに何も起こらず、値が更新されないようです。
ビルドイン関数を使用すると
obj.position.x = s.x +1
できます。
ただし、これにより、すべてのオブジェクトの 0 0 0 位置などの他の問題が発生します。ここでその問題を参照します:Three.js、WebGlオブジェクトの位置