<a-sky>
で2つのアニメーションが宣言されました。最初はclick
で有効に設定され、2番目はカスタムの 'close'イベントを使用して別のjavascriptファイルによってトリガーされます。不正なイベントによってAframeアニメーションがトリガーされる
次のように私は私の空を定義した:
<a-sky mixin="sky" id="thesky" src="puydesancy.jpg" scale="1 1 -1" radius="1" >
<a-animation attribute="scale" direction="alternate" begin="click" dur="1000" easing="linear" from="1 1 -1" to="10 10 -10"></a-animation>
<a-animation attribute="scale" direction="alternate" begin="close" dur="1000" easing="linear" from="10 10 -10" to="1 1 -1"></a-animation>
</a-sky>
//This is my click handler which calls Closer()
(function() {
var skies = document.querySelectorAll('#thesky');
var i;
for (i = 0; i < skies.length; ++i) {
skies[i].addEventListener('click', function() {
console.log('click', this);
Closer();
})
}
})();
//This is in the return function of Closer()
var sphereElement = document.getElementById("thesky");
sphereElement.emit('close');
すべてが通じ正しく初めてを実行し、私は空のオブジェクトをクリックすると、それはサイズにスケーリングされます。 Closerメソッドは、遅延を待ってから、空を元のサイズに縮小します。しかし、2回目の空オブジェクトをクリックすると、「クリック」アニメーションではなく「閉じる」アニメーションが再生され、遅延が経過すると「閉じる」ではなく「クリック」アニメーションが再生されます。 2つ目のパススルーで間違ったイベントによってこれらの2つのアニメーションが発生する原因は何ですか。
ありがとうKevin、実際には 'direction =" alternate "を設定することに関連していましたが、値を' forward'に変更すると期待通りに機能しました。 – Devin