0
javascript에서 현재 프로젝트에 pixi.js 렌더링 엔진을 사용하고 있습니다. json에 정의 된 스프라이트 시트를 로딩 할 때, assetloader를 사용한다. 문제는 자산 로더가 사용하는 onComplete 이벤트가 끝나면 스프라이트 또는 영화 클립을 만들어야합니다. 그러나 텍스처 캐시는 그 시점 이후에 액세스 할 수없는 것 같습니다. 아래에 나와있는 문제를 설명하는 코드 중 일부는 다음과 같습니다.pixi.js에서 초기로드 후 텍스처에 액세스
var spriteSheet = [ "test.json" ];
loader = new PIXI.AssetLoader(spriteSheet); // only using the flappy bird sprite sheet as a test
loader.onComplete = OnAssetsLoaded;
loader.load();
function OnAssetsLoaded() {
var sprite = PIXI.Sprite.fromFrame("someFrame.png"); //this works
}
var sprite2 = PIXI.Sprite.fromFrame("someFrame2.png"); //This does not work, tells me "someFrame2" is not in the texture cache
감사합니다. 나는 약간 혼란 스럽다. Sprite 시트가로드 된 후에 ('var sprite2 ..') 실행 된 이후에 ('loader.load()') 실행 되었기 때문에 가정이있었습니다. 내가 알지 못했던 전역 범위에서 함수를 호출하는 것에 대해 뭔가가 있습니까? – Qdot543
또한'code' 마크 업을 사용하는 방법을 알아 냈습니다. 위의 끔찍한 포맷에 대해 죄송합니다. – Qdot543
load()가 호출 된 후 Sprite가 생성되었지만 이미지로드 프로세스가 비동기 인 것은 맞습니다. 스프라이트는 load()를 호출 한 직후에 텍스처가 다운로드되기 전에 만들어집니다. – Karmacon