2012-05-27 2 views
1

Будучи новым для EaselJS, я использовал код из примера «Simple Sprite Sheet», который упакован с исходным zip-файлом. Я пытаюсь получить лист спрайта для загрузки и воспроизведения, но появляется только первый кадр.Загрузка спрайт-листа с EaselJS

function init() { 
    var stage = new Stage(document.getElementById("canvas")); 
    var ss = new SpriteSheet({ 
     "frames": { 
      "width": 159, 
      "numFrames": 71, 
      "regX": 0, 
      "regY": 0, 
      "height": 85 
     }, 
     "animations":{ 
      "instance1": [0, 0], 
      "images": ["./assets/spritesheet.png"] 
     }); 

    var animate = new BitmapAnimation(ss); 
    animate.x = 0; 
    animate.y = 0; 

    ss.getAnimation("instance1").frequency = 2; 
    ss.getAnimation("instance1").next = "instance1"; 
    animate.gotoAndPlay("instance1"); 


    stage.addChild(animate); 
    Ticker.setFPS(60); 
    Ticker.addListener(stage); 
} 

Я не думаю, что мне нужна функция тикер, потому что я не регистрации каких-либо событий, я просто играл с instance1, рамки и холст оба одинакового размера и анимация воспроизводится через если я заменить animate.gotoAndPlay("instance1"); на animate.play("instance1");, но петли. Какие-либо предложения? Заранее спасибо.

ответ

2

Я считаю, что я ответил на это на другом сайте.

Проблема в том, что формат спрайтов неверен. Свойством «animations» является объект, содержащий именованные анимации с начальным и конечным фреймами. В этом примере начальный и конечный кадры только анимации [0,0], а свойство «images» находится внутри объекта анимации. Правильный формат можно увидеть здесь:

https://github.com/CreateJS/EaselJS/blob/master/examples/SimpleSpriteSheet.html

var ss = new SpriteSheet({ 
    "frames": { 
     "width": 159, 
     "numFrames": 71, 
     "regX": 0, 
     "regY": 0, 
     "height": 85 
    }, 
    "animations":{ 
     "instance1": [0, 25] // sample end frame is "25" 
    }, 
    "images": ["./assets/spritesheet.png"]); 
}); 

Я надеюсь, что помогает кому-либо еще с той же проблемой. Cheers,

+0

Спасибо, Ланни, я полагаю, вы ответили на мой вопрос из группы EaselJS в Google. Все еще экспериментируя, я ударяю еще одну загвоздку при использовании нескольких холстов и разных FPS, если бы вы могли взглянуть, я был бы очень благодарен http://stackoverflow.com/questions/10861247/easeljs-having-two-canvases-with-different -fps – dcd0181

 Смежные вопросы

  • Нет связанных вопросов^_^