【问题标题】:saving file in actionscript 3在actionscript 3中保存文件
【发布时间】:2013-01-06 19:19:39
【问题描述】:

我之前使用共享对象来保存我的游戏进度数据...

所以我做了一个大数组并保存了变量的值并将其保存到 cookie 中..

但是这次我使用了一些位图屏幕截图..所以如果我在制作这些位图后创建一个获取值的变量并保存到 cookie 中,则相同的方法似乎不起作用..当我加载它时位图消失..

有人知道我可以用 cookie 保存这些位图的方法吗?或任何其他文件保存方法??

*编辑

var bmp:BitmapData;
var myImages:Array = new Array();

red_square.addEventListener( MouseEvent.CLICK, firstchoice);
    function firstchoice (e:MouseEvent){

        bmp = new BitmapData(167, 167);
       myImages[0] = new Bitmap (bmp);
        addChild(myImages[0]);
        myImages[0].x=151;
        myImages[0].y=371;
        bmp.draw (red_square);
            gotoAndStop(5);

    };

【问题讨论】:

    标签: actionscript-3 bitmap


    【解决方案1】:

    如果要将位图数据保存在 cookie 中,可以将其传递给 byteArray,然后将其传递给 Base64 String。您可以将其保存在 cookie 中。要使用它,您只需执行相反的过程即可。

    但我不认为将屏幕截图保存在 cookie 中是一个好的策略。当您使用 actionScript 3 时,我会使用 Flash Shared Objects 保存所有内容。

    您可以使用 as3corelib 类将其传递给 PNG 或 JPG 字节数组:

    var jpgEncoder:JPGEncoder = new JPGEncoder( 85 );
    var bytes:ByteArray = jpgEncoder.encode( btm );
    

    var bytes:ByteArray = PNGEncoder.encode( btm );
    

    然后他们将字节保存到 LocalStorage

    var screenshots:SharedObject = SharedObject.getLocal("screenshotsObjectID");
    if (screenshots.data == null){
        screenshots.data = {};
    }
    if (screenshots.data.screensObject == null){
        screenshots.data.screensObject = {};
    }
    
    screenshots.data.screensObject["someStringToIdentifyTheImage"] = bytes;
    
    screenshots.flush();
    

    您可以根据需要保存图像。您可以将 someStringToIdentifyTheImage 更改为序列号、时间戳或任何其他内容。或者你可以说 screenObject 是一个«n 数组,然后将图像推入其中。

    【讨论】:

    • 哦,你能给我一个例子,告诉我如何把它变成一个字节数组并保存那个数组吗?请
    • 你能在这里放一个你有位图数据的代码示例吗?
    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    相关资源
    最近更新 更多