123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Document</title>
- <style>
- * {
- padding: 0;
- margin: 0;
- }
- #mousepos {
- position: fixed;
- top: 100px;
- left: 100px;
- color: #fff;
- width: 100px;
- height: 100px;
- z-index: 1;
- background: rgba(0, 0, 0, 0.5);
- }
- </style>
- </head>
- <body>
- <div id="pano" style="width: 100vw; height: 100vh" onclick="track_mouse()"></div>
- <div id="mousepos" onclick="track_mouse()"></div>
- </body>
- <script src="./plugins/tour.js"></script>
- <script>
- let krpano = null;
- embedpano({ xml: "./tour.xml", target: "pano", id: "krpanoSWFObject", passQueryParameters: true, onready: krpano_onready_callback });
- window.hover = function () {
- console.error("hover");
- };
- window.over = function () {
- console.error("over");
- };
- function krpano_onready_callback(krpano_interface) {
- krpano = krpano_interface;
- window.krpano = krpano;
- // console.error(krpano);
- setTimeout(() => {
- krpano.set("autorotate.enabled", false);
- }, 1000);
- // 监听鼠标移动事件;
- // krpano.addAction(function (action) {
- // if (action.event == "MOUSE_MOVE") {
- // // 获取鼠标的水平和垂直角度
- // var ath = krpano.get("mouse.x") - krpano.get("layer.width") / 2;
- // var atv = krpano.get("mouse.y") - krpano.get("layer.height") / 2;
- // // 输出或处理ath和atv值
- // console.log("ath:", ath, "atv:", atv);
- // }
- // });
- console.error(krpano);
- }
- // 场景跳转 index:0,1,2
- var track_mouse_enabled = false;
- var track_mouse_interval_id = null;
- function track_mouse_interval_callback() {
- var mx = krpano.get("mouse.x");
- var my = krpano.get("mouse.y");
- var pnt = krpano.screentosphere(mx, my);
- var h = pnt.x;
- var v = pnt.y;
- // document.getElementById("mousepos").innerHTML = 'x="' + mx + '" y="' + my + '" ath="' + h.toFixed(2) + '" atv="' + v.toFixed(2) + '"';
- console.error('x="' + mx + '" y="' + my + '" ath="' + h.toFixed(2) + '" atv="' + v.toFixed(2) + '"');
- }
- function track_mouse() {
- // var krpano = document.getElementById("krpanoSWFObject");
- console.error(krpano.get("hotspot[eee]"));
- krpano.set("autorotate.enabled", false);
- krpano.call("hotspotClicked");
- track_mouse_interval_callback();
- // if (krpano) {
- // if (track_mouse_enabled == false) {
- // // enable - call 60 times per second
- // track_mouse_interval_id = setInterval(track_mouse_interval_callback, 1000.0 / 60.0);
- // track_mouse_enabled = true;
- // } else {
- // // disable
- // clearInterval(track_mouse_interval_id);
- // document.getElementById("mousepos").innerHTML = "";
- // track_mouse_enabled = false;
- // }
- // }
- }
- </script>
- </html>
|