2017-06-05 2 views
0

Ich versuche, Animationen von Adobe Animate zu laden, und es funktioniert gut beim Laden von einem Webserver. Aber wenn ich von einem lokalen Ordner lade, bekomme ich "Zugriff verweigert". Die Codezeile ist

Der Versuch, lokale JSON-Datei mit createjs zu laden

loader.loadFile({ src: "images/1170_atlas_.json", type: "spritesheet", id: "1170_atlas_" }, true); 

soll ich in der Lage sein, einfach, um den Inhalt der Datei in einer Variablen auf der Seite enthalten und die Daten direkt laden. Aber ich habe Probleme, die createjs Funktion zu finden, die ich aufrufen muss, um das Spritesheet zu laden.

Irgendwelche Ideen, wie man das macht?

Antwort

0

Sie können JSON nicht lokal laden, ohne beispielsweise Chrome zu allow file access zu erzwingen.

Sie können auch umgehen mit JSONP, die den Inhalt als JavaScript lädt.

Wenn Sie den Inhalt manuell laden und Ihren JSON in Ihre Seite einbetten möchten, müssen Sie nur manuell ein neues SpriteSheet erstellen. Die EaselJS SpriteSheet docs haben Beispiele dafür.

Prost.

+0

Danke. Das hat mich einen Teil des Weges dorthin gebracht. Ich ersetzte den Aufruf loadFile() durch einen neuen Aufruf createjs.SpriteSheet(). Aber dann musste ich manuell den handleComplete() - Handler aufrufen, um das Laden der Animation zu beenden. –

+0

Ja, es gibt kein asynchrones Laden ohne PreloadJS - Sie müssen also nur ausführen, was Sie gerade ausgeführt haben, wenn ein Vorladen erfolgte. Beachten Sie, dass Sie die Bilder im SpriteSheet immer noch vorab laden möchten (was der SpriteSheetLoader für Sie tut) – Lanny

+0

Ich versuche nur, Animate-Ausgaben programmatisch in andere HTML-Seiten einzubetten. Dinge funktionieren mit sehr wenig Bearbeitung (wie wenn ich zwei Animationen auf die gleiche Seite setze, Ordnernamen ordne, usw.), aber die .json verursachte mir Kummer, wenn die Seiten von einem lokalen Laufwerk oder einer DVD laufen. –

Verwandte Themen