iPhoneの3つのJSプロジェクト - イベントの問題(選択とドラッグオブジェクト)

StackOverflow https://stackoverflow.com/questions/8307535

質問

私は3つの.jsを備えたプロジェクトを構築しています...キャンバスでオブジェクトをドラッグしてカメラビューで再生できます...有名な例があります - 「ドラッグ可能なキューブ」、まあ私のプロジェクトはかなり似ています。

私のプロジェクトには、Mouseup / Mousedown / Mousemoveの3つの主要なイベントがあります...

さてすべては大丈夫でした....しかし今、私はこのコードをiPhoneで実行しようとしています。

移動オブジェクト関数は正常に動作しているようですが、彼をクリックしてオブジェクトを選択しようとしているとき、それは常に選択されたオブジェクトと同じです...そして私が指しているものではありません。

問題はこの機能にあると思います。

function onDocumentMouseDown( event ) {

            event.preventDefault();

            var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );
            projector.unprojectVector( vector, camera );

            var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );

            var intersects = ray.intersectObjects( objects );

            if ( intersects.length > 0 ) {

                SELECTED = intersects[ 0 ].object;

                var intersects = ray.intersectObject( plane );
                offset.copy( intersects[ 0 ].point ).subSelf( plane.position );

            }
}

誰かが問題を知っていますか?

役に立ちましたか?

解決

この行で:

var vector = new THREE.Vector3( mouse.x, mouse.y, 0.5 );

マウスVector2オブジェクトを使用しますが、初期化しません。

このようなものは機能するはずです:

mouse.x = +(event.targetTouches[0].pageX / window.innerwidth) * 2 +-1;

mouse.y = -(event.targetTouches[0].pageY / window.innerHeight) * 2 + 1;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top