javascript - 在 Aframe 中的小地图上反映用户在运行时的位置和旋转
问题描述
我正在尝试为我的虚拟现实场景制作一个小地图,并在运行时更新用户的位置和位置。我已经做了以下:
<script>
AFRAME.registerComponent('cam-listener', {
init: function(){
var canvas = document.querySelector("#myCanvas");
//line 124(log result in the image)
console.log(canvas);
var context = canvas.getContext("2d");
//line 126(log result in the image)
console.log(context);
function drawTriangle(x, y) {
// the triangle
context.beginPath();
context.moveTo(x, y);
context.lineTo(x - 6, y + 10);
context.lineTo(x + 6, y + 10);
context.closePath();
// the outline
context.lineWidth = 4;
context.strokeStyle = "rgba(102, 102, 102, 1)";
context.stroke();
// the fill color
context.fillStyle = "rgba(255, 204, 0, 1)";
context.fill();
}
drawTriangle(100, 100);
}
tick: function(){
console.log(this.el.getAttribute('position'));
console.log(document.querySelector('[camera]').getAttribute('rotation'));
}
})
</script>
下面是 div 和画布:
<div id="canvasWrapper">
<canvas id="myCanvas" width="223.99" height="358.93">
</canvas>
</div>
但问题是,当我运行脚本时,控制台给了我非常混乱的结果:(下面是图片链接)
但如果我不使用 Aframe 组件系统并将脚本放在正文底部,一切正常。那么有人知道原因吗?提前致谢!
顺便说一句,如果有人知道如何在 Aframe vr 场景中制作小地图,我很乐意讨论和学习。如果没有,我会在之后发布我的解决方案。
解决方案
推荐阅读
- xml - 使用其 XSLT 属性的名称命名元素
- ios - Xcode UI 测试计划
- angular - 从组件中获取当前应用的 Angular Material 主题
- pandas - 如何提取相邻行?
- python - 如何过滤 django 中的相关字段?
- flutter - Flutter dart 尝试 catch,catch 不触发
- angular - 在构建 Angular 项目时,我可以在代码中检索 --base-href 参数值吗?
- google-cloud-platform - Google Cloud Data Fusion 的权限问题
- css - 离子:特定离子幻灯片底部的粘性按钮
- json - 循环 json 对象键以添加 Google 地图数据