나는 지그 푸의 웹 사이트에서 사용자 레이더를 만들기위한 초기 자습서를 읽었습니다. 이 레이더가 캔버스 요소에서 작동하는 데 문제가 있습니다.HTML5의 캔버스 요소에 지그 후 (kinect) 사용
캔버스에서 드로잉 메서드를 사용하고 싶습니다. 컨테이너에 그리기를 원하지 않습니다.
지금까지 자습서에서 직접 작성한 코드입니다. 독서에 대해 너무 고마워!
function loaded() {
var radardiv = document.getElementById('container');
var radar = {
onuserfound: function (user) {
var userdiv = document.createElement('div');
userdiv.className = 'user';
user.radarelement = userdiv;
radardiv.appendChild(user.radarelement);
},
onuserlost: function (user) {
radardiv.removeChild(user.radarelement);
},
ondataupdate: function (zigdata){
for (var userid in zigdata.users){
var user = zigdata.users[userid];
var pos = user.position;
//console.log(pos);
var el = user.radarelement;
var parentElement = el.parentNode;
var zrange = 2000;
var xrange = 700;
var pixelwidth = parentElement.offsetWidth;
var pixelheight = parentElement.offsetHeight;
var heightscale = pixelheight/zrange;
var widthscale = pixelwidth/xrange;
el.style.left = (((pos[0]/xrange) + 0.5) * pixelwidth - (el.offsetWidth/2)) + "px";
el.style.top = ((pos[2]/zrange) * pixelheight - (el.offsetHeight/2)) - 150 + "px";
}
}
};
zig.addListener(radar);
}
document.addEventListener('DOMContentLoaded', loaded, false);
<body>
<div id = 'container'></div>
</body>
</html>
<style>
div#container {
width: 800px;
height: 600px;
border: 1px solid black;
overflow: hidden;
}
div.user {
position: relative;
width: 10px;
height: 10px;
background-color: red;
}
미안하지만 분명하지 않았습니다. 나는 이미 레이더를위한 튜토리얼을 가지고있다. 난 그냥 일반 div 대신 캔버스 요소에 있어야합니다. – Zach