2013-10-22 7 views
0

easeljs 및 스프라이트 시트를 사용하여 애니메이션을 사용하려는 게임을 만들고 있습니다. 아래 코드 코드를 사용하여이 작업을 수행했지만 애니메이션이 내 캔버스에 표시되지 않는 것 같습니다. 오류가 없기 때문에 이것은 이상합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?EaselJS 스프라이트 시트 애니메이션이 캔버스에 표시되지 않지만 오류가 없습니다.

내 코드 :

stage = new createjs.Stage(canvas); 

    sprite = new createjs.SpriteSheet({ 
    "images": ["./images/vos.png"], 
    "frames": [[0, 0, 32, 32, 0, 0, 0], 
       [32, 0, 32, 32, 0, 0, 0], 
       [64, 0, 32, 32, 0, 0, 0], 
       [96, 0, 32, 32, 0, 0, 0]], 
    "animations": {"all": {"frames": [0, 1, 2, 3, 2, 1, 0]} 

      } 
    }); 

    vos = new createjs.BitmapAnimation(sprite); 

    vos.x = 32 + (Math.random() * (canvas.width - 64)); 
    vos.y = 32 + (Math.random() * (canvas.height - 64));  

    speed=8; 

    createjs.Ticker.addListener(window); 
    createjs.Ticker.setFPS(24); 

    stage.addChild(vos); 

    vos.gotoAndPlay('all'); 

답변

2

당신은 사용되지 않는의 addListener 방법을 사용하여, 창에 틱 방법을 찾아 그것을 말하고있다는 :

createjs.Ticker.addListener(window); 

당신은 대신를 사용한다 :

createjs.Ticker.addEventListener("tick", function() { 
    stage.update(); 
}); 

If it does not work, you should take a look here.

+1

스테이지를 업데이트하는 틱 메서드에 대한 더 나은 방법은 스테이지를 수신기로 추가하는 것입니다. Stage에는 tickEvent 이벤트를받을 때 스테이지를 자동으로 업데이트하는 handleEvent 메소드가 있습니다. – Lanny