2017-05-21 5 views
1

マップを移動する各ユーザーに依存するA-Frameマルチプレイヤープロジェクトがあり、デスクトップブラウザーでうまく機能します。この障害は、カメラのWASDコントロールのように、モバイルでのモーションコントロールの欠如です。モバイルデバイス上のA-Frame WASDコントロール代替機能

あなたはどのような回避策を提案しますか?おそらく、画面上のボタンを追加し、jQueryでキー押しイベントをトリガーするのでしょうか?

または、画面上の各ボタンの押したときのカメラの位置を変更する関数を追加する方が簡単ですか?この場合、W、A、S、Dキーに起因する正確な機能を見つける方法はありますか?私が試したいくつかのことの中で

た:

$(".up-button").click(function(){ 
    window.dispatchEvent(new KeyboardEvent('keypress',{keyCode: 38})); 

そしてもう一つ:

var e = jQuery.Event("keydown"); 
e.which = 38; 
$(window).trigger(e); 

どちらの変更を生産しています。アップ矢印キーを押してシミュレートする

window.dispatchEvent(new KeyboardEvent('keypress',{keyCode: 38}) ); 

答えて

0

はあなたのような何かを試してみましたか?

wasdを押すか、または左下を上にしてシミュレートすることができます。 しかし、回転は少し難しいかもしれませんが、 あなたはonMouseDownとonMouseMoveイベントをシミュレートする必要があります。

+0

もあり、「onTouch」を見下ろしている前方の場合、カメラを動かしますモバイルデバイス向けのイベント。私は仕事に出掛けようとしていますが、先日私が見た.jsのリポジトリを探して、それらを利用しました。あなたは他の答えなしで18日間待っています。 – Ronk

+0

ありがとう!私はdivでキー入力イベントをシミュレートしようとしましたが、以前は運がありませんでした。私はあなたの行を試し、あなたに知らせるでしょう。 –

+0

私はeBayで安いMocute $ 5のブルートゥースリモコンを手に入れました。私はそれを使ってクリックをシミュレートしようとしています。しかし、まだ混乱している。 – Ronk

0

私はあなたが何を意味するかを見ます。ほとんどの人はあなたのプロジェクト/ゲームでキャラクターを適切に動かすコントローラーを持っていないでしょう。私はA-Frameのデモで見てきましたが、私の意見ではかなり巧妙です。基本的に、ユーザが床を見下ろしている場合、カメラは前方に移動する。これは外部入力を必要としないので、すべてで動作するので、良いです。それを実装する方法として

、これが解決策になることがあります。

//First calculate the verticle angle of the camera 

    var verticalAngle = getVerticalAngle(camera.getWorldDirection()); 
     console.log('vertical angle:' + verticalAngle); 
     function getVerticalAngle(cameraVector) { 
      return vRadiansToDegrees(Math.atan(cameraVector.y)); 
     } 

     function vRadiansToDegrees(radians) { 
      return radians * 180/Math.PI; 
     } 

し、ユーザーが床

if (verticalAngle < -43) { 
     //move camera 
    } 
+0

これは非常に独創的です!私は瞬間があるときにそれを試してみて、それがどのように+リンクを投稿するかを教えてくれます。提案していただきありがとうございます。 –

+0

Wキーのように、カメラが指し示す方向に、カメラをスムーズに動かす正確な機能をどのように呼び出すことができるのか分かりますか? –

+0

Wキーを押したときに、どのような機能が呼び出されていますか?キーを押しながら使用しているのと同じ機能を使用する必要があります。個人的に私はこれを使用します:https://github.com/brianpeiris/three-firstperson-vr-controls/blob/master/README.mdこれは私に多くの時間を節約します。 –

関連する問題