猿问

每次触发A帧点击事件如何触发相关动画?

<html>

  <head>

    <script src="https://aframe.io/releases/1.0.4/aframe.min.js"></script>

  </head>

  <body>

    <a-scene>

    

      <a-box 

        color="blue" 

        position="0 3 -5" 

        rotation="0 45 45" 

        scale="1 1 1"

        animation__rotation="property: rotation; to: 360 405 45; dur: 1000; startEvents: click;">

      </a-box>

     

      <!-- camera && mouse -->

      <a-camera>

        <a-cursor></a-cursor>

      </a-camera>    

    </a-scene>

  </body>

</html>

我是 A-frame 的新手,我正在尝试在<a-box>. 预期的行为应该是:每次单击立方体后,立方体都应该做一个旋转动画。

但是我遇到了一个问题:只有第一次单击会触发旋转动画,其余的单击事件将不起作用。我想要实现的是一键应该映射到一个动画。

上面提供了代码片段。

我该如何解决这个问题?


心有法竹
浏览 119回答 1
1回答

精慕HU

其实你的代码是正确的,它确实有效。由于一个简单的原因,它似乎不会再次触发。您的动画属性只有“to”属性,但没有“from”。所以第一次它从原始旋转到目的地。但第二次它已经在目标值,所以它没有动画。您可以通过设置如下属性来解决此问题:animation__rotation="property:&nbsp;rotation;&nbsp;from:&nbsp;0&nbsp;45&nbsp;45;&nbsp;to:&nbsp;360&nbsp;405&nbsp;45;&nbsp;dur:&nbsp;1000;&nbsp;startEvents:&nbsp;click;">
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答