2014-01-14 3 views
0

저는 EaselJS를 사용하고 있습니다. 제 작업은 .png를 오른쪽에서 왼쪽으로 옮기는 것입니다. 수정이 불가능한 오류가 발생하여 동일한 목표로 createjs.Ticker.addListener를 사용하여 모든 작업을 업데이트했습니다. 나는 포함 된 자바 스크립트로 다른 index.html을 열었고 완벽하게 작동했다. 이 코드를 예제로 사용했지만 그래픽을 사용했습니다. 거의 같은 코드이지만 여전히 "TypeError : createjs.Ticker.addListener는 함수가 아닙니다"라고 알려줍니다. 예제가 정상적으로 작동하는 이유를 알 수 없지만 내 코드는 그렇게 복잡합니다.addListener가 함수가 아닌 이유는 무엇입니까?

<html> 
    <head> 
     <title>Title</title> 
     <link rel="stylesheet" type="text/css" href="css/style.css"> 
     <script src="js/easeljs.js"></script> 

    <script> 

     var canvas, stage, child; 

     function draw() { 

      canvas = document.getElementById("canvas"); 
      stage = new createjs.Stage(canvas); 

      var bg = new createjs.Bitmap("bg.png"); 
      stage.addChild(bg); 

      var child = new createjs.Bitmap("target.png"); 
      child.onTick = function() 
      { 
       this.x --; 
      } 


      stage.addChild(child); 
      child.y = 100; 
      child.x = 100; 


      createjs.Ticker.useRAF = true; 
      createjs.Ticker.setFPS(1); 
      createjs.Ticker.addListener(stage , true); 
      createjs.Ticker.addListener(window , true); 
     } 

    </script> 

</head> 
<body onload="draw()"> 
    <canvas id="canvas" width="650" height="400" style="background: #ccc;"></canvas> 
</body> 
</html> 

EDIT 오류가 발견되었습니다. 그것은 코드가 아니며, 이젤을 복잡하게 만든 것은 바로 이젤 라이브러리였습니다. 나는 다른 버전의 라이브러리를 사용했고 효과가 있었다. 어쨌든 감사합니다 :).

답변

1

기능이 같다 addEventListener

후 있습니다

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

CreateJS Ticker Documentation

+2

이 정확한지 -하지만'의 addListener()'는 단지 사용되지 않거나 잘못이 아니다. addListener 접근법은 초기 버전의 EaselJS (최대 0.4.2)에서 이루어졌으며 콜백 방식을 사용하여 작동합니다. EaselJS 0.5.0은 HTML DOM Level 3 이벤트 (XHR, 이미지 등 사용)와 동등한 EventDispatcher 접근 방식을 도입했습니다. EaselJS 0.7.0에서는 이벤트 버블 링이 추가되어 더욱 강력 해졌습니다! – Lanny

관련 문제