首页 > 编程知识 正文

game,Web开发

时间:2023-05-03 12:41:08 阅读:118236 作者:1864

上一篇是文件加密。 这篇文章记录了加载和显示图像的方法。

由于图像文件已加密并成为二进制流文件,因此只能使用URLStream加载资源。

这里有需要注意的事情。 URLStream中的读取操作未被阻止。 在读取数据之前,必须使用bytesAvailable属性来确定是否获得了足够的数据,以及是否获得了足够的数据,从而导致EOFError异常。

主要想法:

1、加载加密资源,使用URLStream

2、调用解密方法,获取解密后的数据

3、使用Loader类的loadBytes方法加载资源

1: varurlloader : urlstream=new urlstream (; 2: var URL : string=getencrypturl (URL; //从要加载的资源的url中获取实际需要加载的资源的地址,xx.png实际为xx.p3:4://URLloader的事件5: //Event.Complete progress event.progress event.open 6:73360 varreq : URL request=newurl request (URL ); 8: 9: urlLoadedCount=0; 0:11: URL loader.load (req ); 12336013360143360153360163360163360163360173360173360//on complete handler方法中为18: var byte:ByteArray; 19: var byteLen:int; 20:21: try 22: { 23: byte len=URL loader.bytes available; 24: ) 25:catch(e:error ) 26: ) 27:if(urloadedcount3) 28: { 29: return; 30: } 31: 32: //reload重新加载33: 34: return直到超过3次; 33: } 36:373360 urlloadedcount=0; 38: 39: byte=new bytearray (; 40: URL loader.read bytes (byte,0,byteLen ); 41: byte=encrypt utils.de encrypt (byte; //与上一篇加密方法对应的42: byte.position=0; 43: 44: //开始加载图像45: var loader=new Loader (; 4:47://event.complete事件48: loader.contentloaderinfo.removeeventlistener (event.com plete,loadimgcomppom 51: context.application domain=application domain.current domain; 52: context.security domain=security domain.current domain; 53:54: loader.load bytes (byte,context ); 5:563360573360//loadimgcompletehandler方法58:此时loader.content已经是Bitmap类。 addChild完成图像读取。 如果要读取文件内容,如59336060336061://XML和txt,则可以在不使用该方法的情况下获得通过byte.readutfbytes (byte.bytes available )解密的字符串

其他参考:

flash.display.Loader

flash.display.Bitmap

flash.net.URLStream

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。