2012-09-02 1 views
2

, 작업을 얻을 수 있습니다. - 그것은 단지 대상에 점프 순간에 http://www.hakoniemi.net/labs/createjs-test/CreateJS : 없음 난 그냥 CreateJS를 배우기 시작 했어 그리고 내가 처음으로 문제가 발생</p> <p>트위닝 그래서

내가 오른쪽에서 왼쪽으로 이동 클라우드를 얻으려면 : 여기

은 예입니다.

코드 같습니다

createjs.Tween.get(stack["cloud"]).to({"x":25}, 1000).call(test); 

createjs.Tween.get(stack["cloud"])가 유효하고 test 기능이 실행된다. 그러나 1000ms의 시각 효과는 전혀 일어나지 않습니다.

자습서를 살펴본 결과이게 어떻게 작동해야하는지 알았지 만 그렇지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

편집 : 나는 경우, 서로 다른 값으로 콘솔에서 코드를 다시 실행 한 후 트위닝 및 시각 효과는 일반적으로 발생 (여기에서는 setTimeout을 사용하는 버전입니다 : http://www.hakoniemi.net/labs/createjs-test/index2.html를)

답변

2

당신은 설정 유형의 문제가이

if (this.getAttribute("x")) { 
    ref.x = this.getAttribute("x"); 
} 

문제의 초기 x 값은 getAttribute() 문자열, 당신은 캘리포니아를 반환한다는 것입니다 n 출력을 Object.prototype.toString.call(ref.x)으로 확인하십시오. 이렇게하면 트윈이 실행하려고 시도한 첫 번째 시간이 올바른 수학을 수행 할 수없는 것으로 보입니다. 마지막으로 값을 최종 값으로 숫자로 올바르게 업데이트하므로 동일한 메서드에 대한 다음 호출이 제대로 작동하는 이유입니다.

ref.x가 숫자인지 확인하면됩니다. 예를 들어 :

if (this.getAttribute("x")) { 
    ref.x = parseInt(this.getAttribute("x")); 
} 

당신은이 fiddle에서 작업을 볼 수 있습니다.

마지막으로 BitmapImageLoaded는 에셋을로드하자 마자 무대에 추가하는 것입니다. 구름 이미지가 배경보다 먼저로드되면 이미지가 그 아래에 배치되고 볼 수 없습니다. (바로 그 경우 :))

+0

안녕하세요. 답변 해 주셔서 감사합니다. 이것은 작동하는 것 같습니다. 그러한 사소한 문제가 프레임 워크에 의해 처리되지 않는다는 것은 오히려 이상합니다. 자산로드 및 배치 문제도 알아 차리고 preloaderJS 또는 다른 방법으로 해결할 것입니다. 언급 해 주셔서 감사합니다. – zvona

관련 문제