Edited at

cocos2d-jsでbase64エンコードされた画像をSprite化する

More than 3 years have passed since last update.

そう多くはないが、例えばスクリーンショットをlocalStorageに保持しておき、次回以降にそれを読みだすような場合、base64エンコードされた画像からSpriteを生成したい場合がある(もっと実際的な使いでもあるがそれは別エントリで)。

いくつか方法があるが、cc.loader.loadImgを使うのが最もcocos2dらしいコードになると思う。


cc.loader.loadImg

var base64str = "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=";

cc.loader.loadImg(base64str , {isCrossOrigin : false}, function(err, img) {
var whiteBox = cc.Sprite.createWithTexture(img);
layer.addChild(whiteBox,1);
});

jsbで動くかどうかは試していない。