setIntervalで実行している関数の中で条件分岐によって表示する文字を変えたい
ここに質問の内容を詳しく書いてください。
A-frameでカメラの向きによって表示する文字を変えるということがやりたいです。
そのためにまずコンソール上で条件分岐によって表示を変えることができるか試しました。
コンソール上ではずっと「おはよう」が表示され、条件分岐うまくできていません。
発生している問題・エラーメッセージ
エラーは出ていません。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title>Sample A-frame</title> 6 <script src="https://aframe.io/releases/0.7.1/aframe.min.js"></script> 7 </head> 8 <body> 9 <a-scene> 10 <a-camera id="a-camera" position='0 -1.6 0'> 11 <a-cursor fuse="true"></a-cursor> 12 </a-camera> 13 </a-scene> 14 <script type="text/javascript"> 15 //a-cameraを取得 16 var camera = document.getElementById('a-camera'); 17 18 function aisathu(){ 19 //a-cameraのrotation要素取得 20 var rotation = camera.getAttribute('rotation'); 21 var Rot = rotation.y; 22 console.log(Rot); 23 //cameraが1~45度向いたら 24 if (0 < Rot < 46) {console.log("おはよう");} 25 //cameraが4~90度向いたら 26 else if (45 < Rot < 91) {console.log("こんにちは");} 27 //cameraが91~180度向いたら 28 else if (91 < Rot < 181) {console.log("さよなら");} 29 else if (180 < Rot < 270) {console.log("おやすみ");} 30 } 31 setInterval(aisathu, 1000); 32 </script> 33 </body> 34</html> 35
試したこと
rotationをグローバル変数にし、関数の外で条件分岐をしてみました。
aisathu関数にrotation.yを返数にしてみました。
補足情報(FW/ツールのバージョンなど)
setIntervalを使っているのはカメラの向きを常に更新させるためです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/22 10:39