Я надеюсь, что все в порядке, если я немного уточнить ответ Кевина.
Но, прежде всего, код работает. Оба в рамке 0.9.2 и 0.8.2 .
Проблема может быть связана с
- скрипт ставится после загрузки сцены
- компонент, не привязанный к объекту:
ЯШ:
AFRAME.registerComponent('foo', {
// component body
})
HTML:
<a-entity foo></a-entity>
Что касается ответа Кевинса - может быть хорошей идеей внести изменения в функцию tick
со ссылкой на базовый объект THREE.js
.
Если вы хотите повернуть коробку, нет необходимости добавлять всю эту логику:
1) создать переменную tmp
2) получить объект вращения
3) установить переменную tmp
4) установить вращение объекта
Когда у вас есть функция, которая выполняется в каждом цикле рендеринга (tick
), вы хотите минимизировать то, что там происходит. Таким образом, Кевин напрямую обращается к объекту THREE.js
и меняет вращение:
tick: function() {
el.object3D.rotation.x += 0.1 * Math.PI / 180 // three uses radians
}
Проверьте это в этой скрипке .