さて、私は複数の行を持つスプライトシートを持っており、次のようなスポットを持つ3行の画像が含まれているとしましょう:
x, x, x, x, // moving animation images
x, x, x, x, // jumping animation images
x, x, x, x, // dying animation images
すべての画像スロットの高さと幅は 80 ピクセルで、スプライト シートで互いに密に積み重ねられ、中央が画像の中央になります。使用する実際の文字サイズは 40 ピクセル (幅と高さ) なのでregX: 40
、regY: 40
スプライト シートです。 img サイズは、幅と高さが 320px になります。(80px * 4 = 320px の 4 つのスロットのため)。
私は次のようにそれらにアクセスします:
var localSpriteSheet = new createjs.SpriteSheet({
images: [imgPlayer],
frames: {width:80, height:80, regX:40, regY:40},
animations: {
moving: [0,3],
jumping: [4,7],
dead: [8,11]
}
});
ここにパターンが表示されていると思います。たとえばjumping
、タイルの番号は 0 から始まるため、開始番号は 4 です。
上記のタイルシートの実際のスロットは次のとおりです。
0, 1, 2, 3, // moving animation images
4, 5, 6, 7, // jumping animation images
8, 9, 10, 11, // dying animation images
うまくいけば、これが役に立ちます - アニメーションの「移動」のスプライトシート開始スロットを見て、その前方から開始するだけです。
// takes 4 images from first line
move: [0, 3]
// takes 4 images from second line (If spritesheet has 4 images on each line).
jump: [4, 7]
お役に立てれば!