2016-04-08 24 views
1

Ich verwende PreloadJS, um ein Spritesheet zu laden.PreloadJS - lädt das Spritsheet-Image nicht

Der Code wurde aus dem Animieren CC erzeugt wird, und ist wie folgt:

function init(id, basePath) { 

idAtividade = id; 

images = images||{}; 
ss = ss||{}; 

var loader = new createjs.LoadQueue(true, basePath); 
loader.addEventListener("fileload", handleFileLoad); 
loader.addEventListener("complete", handleComplete); 
loader.loadFile({src:"images/B02A10_Canvas_atlas_.json", type:"spritesheet", id:"B02A10_Canvas_atlas_"}, true); 
loader.loadManifest(lib.properties.manifest) }; 

Ich habe eine Anwendung, an der Adresse localhost/web, die die Datei mit JQuery getScript Methode herunterlädt. Sobald der Download abgeschlossen ist, führt JQuery meine js-Datei aus, und ich rufe die init-Methode auf und übergebe einige Parameter, darunter den basePath, wo sich die Assets dieser Datei befinden.

Die basePath spritesheet ist wie folgt:

localhost/web/activities/1/

Js Datei diesen Ladecode enthält, an der gleichen Stelle von spritesheet

B02A10.js

images/B02A10_Canvas_atlas_.json

images/B02A10_Can vas_atlas_.png

Die JSON-Datei wird korrekt heruntergeladen, jedoch wird die PNG-Datei nicht gefunden, da ihre Adresse nicht mit der des letzten basePath im Konstruktor der LoadQueue-Klasse übereinstimmt.

Ihre Adresse sieht wie folgt aus:

localhost/web/images/B02A10_Canvas_atlas_.png

Gibt es ein Argument oder die Einstellung der Bild zum Download unter Verwendung der letzten Adresse in basePath getan?

Vielen Dank.

bearbeiten

Das Filterbildnetz ist hier. Es lädt das Bild mit dem basePath einmal den richtigen Pfad herunter. Aber er versucht es wieder zu senken, indem er eine meiner Bewerbungen benutzt. Hier tritt der Fehler auf. Und wenn es im Browser läuft, existiert das Bild nicht.

Image with basePath downloaded correctly.

Image based application Path

+0

Könnten Sie die Web-Entwickler-Tools in Chrome verwenden und das Netzfilter überprüfen, um zu sehen, was geladen wird und von woher? – Berni

+0

@Berni, Ich bearbeitet den Beitrag mit mehr Details – Evolua

+0

Haben Sie versucht, den Basispfad manuell einzugeben? – Berni

Antwort

0

Es scheint, dass dieses Problem behoben. Ich hatte keine Möglichkeit zu testen, da in meiner Anwendung eine alternative Methode implementiert wurde.

Dies ist die Adresse der Diskussion über GitHub PreloadJS wo ich eine Antwort bekam:

https://github.com/CreateJS/PreloadJS/issues/193

+0

Willkommen zu Stack Overflow, während der Link Sie die Frage beantworten können, ist es am besten, die wesentlichen Teile Ihrer Lösung direkt in Ihre Antwort zu setzen, falls die Seite Der Link läuft in der Zukunft ab. – Kmeixner