2013-06-23 1 views
0

방금 ​​처음으로 자바 스크립트 게임 프로젝트를 시작했는데 JS에서 애셋 (이미지 및 사운드)을로드하는 가장 좋은 방법이 무엇인지 모르겠습니다. 문제는 내가 상속을 사용하고, 그래서 필요할 때 로딩 자산에 문제가있는 (예 : 패들 엔티티 확장) :Scene의 애셋을 JavaScript로로드

패들 :

function Paddle(layer) 
    { 
     Entity.call(this, layer); 
    } 

Paddle.prototype.SetAnimations = function() 
    { 
     this.image.onload = // INITIALIZE this.sprite using this.image 
     this.image.src = "js/assets/paddle/blue/paddle_blue_idle.png"; 
    }; 

엔티티 : 그래서

function Entity(layer) 
    { 
     this.SetAnimations(); 


     layer.add(this.sprite); 
    } 

여기서 문제는 Paddle 생성자를 사용할 때 가장 먼저 Entity (부모) 생성자를 호출하는 것입니다. 그런 다음 Entity 생성자는 Paddle.prototype.SetAnimations를 사용하여 이미지 소스를 설정하고 KineticJS를 사용하여로드 된 이미지를 사용하여 Sprite를 만듭니다. 그러나 이렇게되기 전에 Entity는 this.sprite를 레이어에 추가하려고 시도합니다 (그리고 스프라이트는 이미 초기화되어 있지 않습니다).

제 질문은 JS에서 모든 장면/전체 게임 시작 전 또는 어쩌면 이벤트 리스너를 사용하는 @runtime 이전에 애셋을로드하는 가장 좋은 방법은 무엇입니까? 어떤 도움을 주시면 감사하겠습니다.

답변

0

게임/저작물의 크기에 따라 다릅니다. 개인적으로 게임 /로드 중 화면에서 내 자산을로드합니다. 애셋로드에는 PxLoader을 사용합니다. 그런 다음 이미지/자산을 내 게임의 큰 배열에 저장하고 필요할 때 액세스 할 수 있습니다.

+0

감사합니다. 이것은 내가 찾고있는 것입니다. – MyFantasy512

관련 문제