有关AS3编程的一些总结 最近用AS3写一些项目,在编程过程中,遇到不少问题,同时也有一些收获和心得。现在贴出来希望对大家在AS3编程有一些帮助。如果你发现有说得不对的地方,你可以指出来,大家一起来讨论。 1、AS3的强制类型转换 我之前一直以为是没有这个功能的,而最近在看一些文档,发现这个功能是有的。 目前总结下来有两种写法: (1) var loader:URLLoader = URLLoader(event.target); 不知道这种写法是借鉴那种编程语言,反正我没有见过。 (补充这个语法说明:http://livedocs.adobe.com/flash/8_cn/main/00001211.html) (2) var loader:URLLoader = event.target as URLLoader; 这种写法是借鉴VB.Net编程语言,唉!AS3语法真得一个大杂烩。 2、URLStream和URLLoader URLStream在文本文件数据方面可以支持多种字符编码。 URLLoader在进过测试后,发现除UTF-8字符编码外,其他字符编码读过来的数据都是乱码。 (补,可通过ByteArray对象字符编码转换)
view plaincopy to clipboardprint?
1. public class MoxieAS extends Sprite 2. { 3. public function MoxieAS () 4. { 5. var loader:URLLoader = new URLLoader(new URLRequest(”ttt.xml”)); // 测试 encode by ANSI 6. loader.dataFormat = URLLoaderDataFormat.BINARY; 7. loader.addEventListener(Event.COMPLETE, complete); 8. } 9. 10. private function complete (event:Event):void 11. { 12. var BA:ByteArray = new ByteArray; 13. BA.writeBytes((event.target as URLLoader).data); 14. BA.position = 0; 15. 16. var xml:XML = XML(BA.readMultiByte(BA.length, “GBK”)); 17. 18. trace(xml.*); // output 测试 19. } 20. }
view plaincopy to clipboardprint?
1. public 2. class MoxieAS extends Sprite { public function 3. MoxieAS () { var loader:URLLoader = new 4. URLLoader(new URLRequest(”ttt.xml”)); // 5. 测试 encode by 6. ANSI loader.dataFormat = 7. URLLoaderDataFormat.BINARY;
8. loader.addEventListener(Event.COMPLETE, complete);
9. }
private function complete 10. (event:Event):void { var BA:ByteArray = new 11. ByteArray; BA.writeBytes((event.target as 12. URLLoader).data); BA.position = 0;
13. var xml:XML = XML(BA.readMultiByte(BA.length, “GBK”));
14. trace(xml.*); // output 测试 } }
public class MoxieAS extends Sp |