Ich schreibe Open-Source-Falloutish 2 Spiel in PHP + HTML + CSS + JavaScript. Jetzt im Umgang mit dem Motor. Ich habe dieses Bild: https://dl.dropboxusercontent.com/u/4258402/nmwarrgb_e.gifJavascript: Animierte GIF zu Daten-URI
... die ich in Daten-URI konvertieren möchte. Ich muss dies tun, weil Browser Bilder cachen und dieser ist nicht geloopt, also um es "wieder ausführen" zu können, wenn die Animation endet und die Einheit zu einer anderen Kachel geht, muss ich sie in Daten-URI umwandeln. Sonst wäre ich gezwungen, das Bild immer wieder neu herunterzuladen, z. indem Sie am Ende der Bilddatei eine zufällige Zeichenfolge hinzufügen. Was gut funktioniert, aber viel zu viel transferiert und Lag verursacht.
Dies ist der Code, den ich zu verwenden versucht:
var image = new Image();
(..)
this.convertImageObjectToDataURI = function (image) {
var canvasTemp = document.createElement('canvas');
canvasTemp.width = image.naturalWidth; // or 'width' if you want a special/scaled size
canvasTemp.height = image.naturalHeight; // or 'height' if you want a special/scaled size
canvasTemp.getContext('2d').drawImage(image, 0, 0);
var dataUri = canvasTemp.toDataURL('image/gif');
// Modify Data URI beginning
dataUri = "data:image/gif;" + dataUri.substring(15);
console.log(dataUri);
// Return image as Data URI
return dataUri;
};
Leider erzeugt er Daten URI für den ersten Frame nur. Ich habe versucht, Plugins, lesen über HTML-Canvas, aber immer noch Ich weiß einfach nicht, wie animierte GIF zu Daten URI konvertieren. Jede Hilfe wäre sehr, sehr willkommen!
Das animierte Gif ist eine Animation in der Leinwand? Ich denke das animiere nicht. Das ist dein Problem. Müssen Sie es dynamisch konvertieren? Ich sagte, wenn Sie den base64-Code in eine Variable einfügen möchten, ohne die Bilder auf Ihren Server hochzuladen, können Sie ihn mit einem Online-Tool kodieren, und Sie müssen nicht codieren, solange das Spiel läuft. –
Das Problem ist, dass es etwa 20 000 GIF-Animationen gibt: -) Und die Sorge für mich ist es, dieses Gif wieder von vorne zu beginnen, nachdem es zum ersten Mal gespielt hat. Ah, ich werde wahrscheinlich mit mehreren Anfragen mit zufälliger Zeichenfolge am Ende bleiben, um den Browser zu tricksen. – Rav
OMG, dann ist meine Antwort über Sprites entschlüsselt, denke ich. Aber Sie müssen wissen, dass Sprites die am häufigsten verwendete Technik für die Animationen in Spielen sind. Viel Glück ! –