スプライトをアニメーション化するためにSpritelyを使用しています。私はうまくパンすることができましたが、私の最終的な仕事は、フェードインおよびフェードアウトする「スター」を作成することです。スプライトシートを作成しました:
ここにあるドキュメントに従い、フレーム数と1秒あたりのフレーム数を変更しました。
$('#star').sprite({fps: 24, no_of_frames: 12});
私の問題は、スプライトのアニメーションがぎくしゃくしていて、スプライトの画像に沿っていないように見えることです。スプライトの画像はフェードインしてからフェードアウトするはずです。現在、それは半可視と完全の間でぎくしゃくしています。
Chromeのコンソールを使用してフレームをログに記録しましたが、フレーム0、1、2しか取得されていないようです。12フレーム(スプライトの画像ごとに1つ)を期待していましたが、これは初めてなので、間違っている可能性があります。ログによると、最後のフレームにも到達していないようです。
これが私のコードの全文です:
(function($) {
$(document).ready(function() {
$('.purplestar').sprite({
fps: 24,
no_of_frames: 12,
start_at_frame: 0,
on_first_frame: function(obj) {
if (window.console) {
console.log('first frame');
}
},
on_last_frame: function(obj) {
if (window.console) {
console.log('last frame');
}
},
on_frame: {
2: function(obj) {
if (window.console) {
console.log('frame 2');
}
},
1: function(obj) {
if (window.console) {
console.log('frame 1');
}
},
0: function(obj) {
if (window.console) {
console.log('frame 0');
}
},
3: function(obj) {
if (window.console) {
console.log('frame 3');
}
}
}
});
$('#balloonleft').pan({fps: 30, speed: 4, dir: 'up', depth: 70});
$('#balloonright').pan({fps: 30, speed: 3, dir: 'up', depth: 70});
$('#bird')
.sprite({
fps: 9,
no_of_frames: 3,
// the following are optional: new in version 0.6...
start_at_frame: 2
})
.spRandom({top: 50, bottom: 200, left: 300, right: 320})
.activeOnClick()
.active();
});
})(jQuery);