Flash CS6 を使用して、アニメーションをスプライトシートにエクスポートしました。これにより、png ファイルと json ファイルの 2 つのファイルが得られます。
これは json の簡略化されたバージョンです。
{"frames":
{
"movieclip 10000":
{
"frame": {"x":676,"y":0,"w":164,"h":280},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":164,"h":280},
"sourceSize": {"w":164,"h":280}
},
…
"movieclip 10004":
{
"frame": {"x":671,"y":280,"w":164,"h":280},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {"x":0,"y":0,"w":164,"h":280},
"sourceSize": {"w":164,"h":280}
}
},
"meta": {
"app": "Adobe Flash CS6",
"version": "12.0.2.529",
"image": "boom1 8B4 def.png",
"format": "RGBA8888",
"size": {"w":1024,"h":1000},
"scale": "1"
}
ここでは特別なことは何もありません。ただし、ファイルは (textwrangler によると) UTF-16 リトル エンディアンでエンコードされています。これは Chrome では問題になりませんが、FF で json を解析すると「parsererror」が発生します。
ファイルのエンコーディングを変更すると、Firefox で問題なく動作します。
だからここに私の質問があります:(どのように)javascriptを使ってエンコーディングを変更できますか?
このスニペットは、json をロードする方法です。
$.ajax({
type: "POST",
url: this.json,
scriptCharset: "utf-8",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(json) {
that.jsonLoadHandler(json);
},
error: function (xhr, textStatus, errorThrown) {
that.errorHandler(xhr, textStatus);
}
});
お時間をいただきありがとうございます。