最初のクリックで順方向に再生 (フレーム 0 --> X) し、フレーム X で停止するクリック可能なスプライト アニメーションを作成しようとしています。完了したら、クリックすると逆方向に再生され (フレーム X --> 0)、フレーム 0 で停止します。リンス/繰り返し。
この jsFiddle にはかなり近いものがあります: http://jsfiddle.net/ahainen/njHAC/3/
しかし、問題があります。中央の円をクリックすると、順方向に再生されます。しかし、完了時に円をクリックすると再生されますが、間違ったフレームで終了します。そこから、壊れたままです。
私はこれを学んでいるので(ここではグラフィックデザイナー)、クリックしてアニメーション化して巻き戻すことでCSSスプライトアニメーションを理解しようとしています。これよりも良い方法があれば教えてください。
また、現在、アニメーション中にクリックできないようにするタイマーがあります。ユーザーがクリック (またはホバー) すると、方向が逆になり、フレーム 0 またはフレーム X で停止するようになれば幸いです。
さらに情報を提供できる場合はお知らせください。
関連するコード:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jqueryui.js"></script>
<script type="text/javascript" src="js/spritely.js"></script>
<style>
body {background:#181818;}
.spriteContainer {
margin: 0 auto;
width:320px;
height:240px;
position:relative;
padding-top:120px;
display:block;}
.clickButton {
width:320px;
height:240px;
position:absolute;
z-index:2;}
.animatedSprite {
width: 320px;
height: 240px;
background-image: url("http://i.imgur.com/aBlIGEh.png");
display:block;
position:absolute;
z-index:1;}
</style>
</head>
<body>
<div class="spriteContainer">
<div class="clickButton"></div>
<div class="animatedSprite"></div>
</div>
<script type="text/javascript">
$(document).ready(function() {
var play_index = 0;
$('.clickButton').click(function(){
$('.clickButton').css("display", "none");
setTimeout(function(){
$('.clickButton').css("display", "block");
}, 940);
});
$('.clickButton').click(function(){
console.log('second function start');
if(play_index == 0) {
$('.animatedSprite').sprite({fps: 24, no_of_frames:16, play_frames:16});
play_index = 1;
}
else {
$('.animatedSprite').sprite({fps: 24, no_of_frames:16, play_frames:16, rewind:true});
play_index = 0;
}
});
});
</script>
</body>
</html>