저는 EaselJS를 사용하여 애니메이션 조각을 만들고 재사용 가능한 객체를 선언하려고 할 때 상속 문제가 발생합니다.EaselJS 상속 - 단일 애니메이션 선언을 허용하는 리팩터링
예를 들어 제 애니메이션 작품에서 캔버스의 여러 지점에 여러 개의 동전을 그려서 그 동전을 움직이려합니다.
이 내 코드는 순간에 같은 모습입니다 : 이제
(function() {
var Coin = function(container) {
this.initialize(container);
}
var c = Coin.prototype = new createjs.Container();
c.Container_initialize = c.initialize;
c.initialize = function() {
this.Container_initialize();
var coinInstance = this,
coin = new createjs.Bitmap(loader.getResult('coin'));
createjs.Ticker.addEventListener('tick', function() {
var characterBitmap = character.children[0].children[0];
var coinBitmap = coinInstance.children[0],
collided = ndgmr.checkPixelCollision(characterBitmap, coinBitmap);
if(collided && coinInstance.alpha == 1) {
createjs.Tween.get(coinInstance).to({y: coinInstance.y-100, alpha: 0}, 300);
}
});
this.addChild(coin);
}
window.Coin = Coin;
}());
function drawCoin(container, positionX, positionY) {
var coin = new Coin();
coin.x = positionX;
coin.y = positionY;
container.addChild(coin);
}
은 명확하게 - 코드
의이 작품은 작업을 수행 - 그러나 나는 그것을 더 잘 실행될 수 있습니다 생각합니다. 이상 적으로 이벤트 리스너가 한 번 발생하는 함수를 선언 할 수 있기를 원합니다 (예 : c.initialize, c.animate 포함). 내 문제는 내가이 변화를 만들 때, 애니메이션이 '이것'의 인스턴스를 잃어 버렸고 더 이상 그 속성을 기반으로 애니메이션을 만들 동전의 특정 인스턴스를 찾을 수 없다는 것입니다.
다른 개발자의 아이디어가 있습니까?