animation - 控制 a-frame-alongpath-component 上的动画
问题描述
问题是我想在开始时禁用的自动播放动画。
我想为什么不开始这句话
AFRAME.registerComponent('track1', { <
代码变得混乱,我试图找出#track1 上的“删除”和“播放”两个函数。
单击“动画按钮”可在#track1 上设置“播放”功能。
aframe-along-component.js 中的代码'triggers:a-curve-point' 总是触发动画,所以很快就会像#track1 那样建立曲线。
AFRAME.registerComponent('alongpath', {
//dependencies: ['curve'],
schema: {
curve: {default: ''},
triggers: {default: 'a-curve-point'},
triggerRadius: {type: 'number', default: 0.01},
dur: {default: 1000},
delay: {default: 0},
loop: {default: false},
rotate: {default: false},
resetonplay: {default:true}
},
init: function () { <
解决方案
虽然最好alongpath
使用一些流控制来扩展组件,但您可以在没有它的情况下实现play
//功能stop
。reset
动态添加组件以模拟
play()
调用它的
.reset()
方法来重置动画:AFRAME.registerComponent("track1", { init: function() { var box = document.querySelector("a-box"); document.querySelector(".enter").addEventListener("click", e => { if (box.components.alongpath) { // if the component is attached - reset box.components.alongpath.reset(); } else { // otherwise attach it box.setAttribute("alongpath", "curve", "#track1"); } }); } });
在这里查看(单击鱼以查看来源)。
推荐阅读
- javascript - 如何根据 Ajax 中的复选框呈现不同的 url?
- javascript - 如何在 EvaporateJS 的 cryptoMd5Method 中使用 nodejs 加密
- excel - .printout 命令:为什么要为每份单独发送打印命令?
- php - 在 laravel 5.4 中设置 cookie
- php - 使用单选按钮传递 PHP 数组的 HTML 表单
- informatica - 如何从 Informatica 云数据集成中调用存储过程?
- azure-devops - 在 azure 管道中访问 GitVersion 变量以进行 JavaScript 构建
- python - 将数组 List 转换为简单列表
- java - 如何修复“JMSCMQ0001:WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2035' ('MQRC_NOT_AUTHORIZED')'
- angular - 为什么 RouterModule 使用 forRoot() AND forChild()?