2013-03-07 3 views
0

약간의 문제가 있습니다. 각 행이 일련의 이미지 인 다중 행 스프라이트 시트를 사용하고 있습니다. 내가 (그래서 아래로 이동할 수 있습니다) 다른 높이에서 시작하는 스프라이트 시트를 얻을 수 그러나EaselJS MultiRow Spritesheet

, 그들은 모두

var spriteSheetUp = new createjs.SpriteSheet({ 
    // image to use 
    images: [snakeI], 
    // width, height & registration point of each sprite 
    frames: {width: 96, height: 90, regX: 0, regY: 290}, 
    animations: { 
     move: [0, 3, "move"] 
    } 
}); 

내가 위의 프레임을 사용하여 시작하려는 상단에서 시작 픽셀 (290)에서.

미리 감사드립니다.

답변

2

글쎄, 나는 여러 행과 spritesheet하고는 이와 같은 명소와 이미지의 3 행을 포함 할 척 수 있습니다 :

x, x, x, x, // moving animation images 
x, x, x, x, // jumping animation images 
x, x, x, x, // dying animation images 

이미지 슬롯의 모든 x 80 픽셀의 높이와 너비를 것, 그들이 spritesheet에서 서로 촘촘하게 쌓아 놓고 그 중심은 이미지의 중간이 될 것입니다. 사용하는 실제 문자 크기는 40px (너비와 높이)이므로 regX: 40regY: 40이고 스프라이트 시트 img 크기는 320px 너비와 높이가됩니다. (80px * 4의 슬롯 4 개 = 320px이기 때문에).

나는이처럼 액세스 할 :

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] 
     } 
}); 

을 당신이 타일 번호 위 대한 0

그래서 실제 슬롯에서 시작하기 때문에 예를 jumping이 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] 

희망이 있습니다.

+0

당신은 그것을 친구 야! 머리를 주셔서 감사합니다, 나는 그것이 자동 문서/예제가 명확하지 않았거나, 내가 그것을 놓친 것을 알지 못했습니다. –