javascript - 如何修改 A-frame 中的默认组件?
问题描述
旋转、位置是默认附加到 A 框架实体的组件。我想修改这些组件并将更改应用于实体。
例如,如果我想创建一个新组件,请说“positionnew”,并更改默认位置。与通常位置组件的变化是添加了默认值:{x: 0, y: -2, z: -2}
AFRAME.registerComponent('positionnew', {
schema: { type: 'vec3', default: {x: 0, y: -2, z: -2} },
update: function () {
var object3D = this.el.object3D;
var data = this.data;
object3D.position.set(data.x, data.y, data.z);
}
});
但是,我看不到任何变化。请帮忙。
解决方案
我想出了一个办法。这是代码。update 需要改成 init
AFRAME.registerComponent('positionnew', {
schema: { type: 'vec3', default: {x: 0, y: 2, z: -2} },
init: function () {
var object3D = this.el.object3D;
var data = this.data;
object3D.position.set(data.x, data.y, data.z);
}
});
推荐阅读
- javascript - 在 React-bootstrap 模态窗口后面有透明背景
- .net-core - Log4net 在 .net 核心类库中不起作用
- mysql - 修改 MySQL 数据库 id 编号为全奇数或全偶数
- angular - 如何从 localStorage 获取数组并将其存储在对象中?
- sql - 如何用 TSQL 替换 SQL 表中的字母?
- c++ - 为什么 char 和其他 C 函数不应该在 C++ 中使用?
- javascript - 如何初始化 ElementRef Angular - 打字稿
- flutter - Flutter - CuppertinoDatePicker 主题覆盖打破列宽
- javascript - 防止 PrimeVue TabView 组件上的选项卡更改
- python - 文件被创建为 zip_folder 中的文件夹