X-Intend[超级打算]
每个人都有自己的想法,哪怕仅仅一瞬间~!

[原]安全使用随机类方法

2008年12月18日 作者: KingFo 原创

在前面 一篇文章《[原]一种随机类的方法》中提到的关于使用 getDefinitionByName() 方法获取类,但是在文章的最后的问题,不知道有没有人思考过这样做为什么特殊。

这里公布答案:

getDefinitionByName()  它将直接从当前应用程序域(ApplicationDomain)去查询并获取,因此当我们Load,一个swf执行时,会报错。

有时候对于多层次的应用程序域(相当于应用程序域的树,层次>=3)管理起来会非常麻烦。

因此我们需要单独提取出LoaderContext 管理他们,通过LoaderContext的applicationDomain中getDefinition()来管理它们。例如 单例模式。

道理弄懂了,实现起来就是很简单的东西了。

 

被阅 26 次, 0 票  发表评论

[原]一种随机类的方法

2008年11月26日 作者: KingFo 原创

此类方法用于类似图片的类进行随机实力化,或者拥有同个接口或同个父类的功能函数,实现某种随机

当然,这里随机的方式不做讨论,可以参阅之前本人的 48位线性同余算法的 [原]关于股子系统的优化

完整代码:
 

  1. package  {  
  2.     import flash.utils.getDefinitionByName;  
  3.       
  4.     /**  
  5.      * ...  
  6.      * @author Telds[KingFo]  
  7.      */ 
  8.     public class SampleImage {  
  9.           
  10.         [Embed(source = '../assets/building/image0.png')]public static const BUILDING_0:Class;  
  11.         [Embed(source = '../assets/building/image1.png')]public static const BUILDING_1:Class;  
  12.         [Embed(source = '../assets/building/image2.png')]public static const BUILDING_2:Class;  
  13.         [Embed(source = '../assets/building/image3.png')]public static const BUILDING_3:Class;  
  14.         [Embed(source = '../assets/building/image4.png')]public static const BUILDING_4:Class;  
  15.         [Embed(source = '../assets/building/image5.png')]public static const BUILDING_5:Class;  
  16.         [Embed(source = '../assets/building/image6.png')]public static const BUILDING_6:Class;  
  17.         [Embed(source = '../assets/building/image7.png')]public static const BUILDING_7:Class;  
  18.         [Embed(source = '../assets/building/image8.png')]public static const BUILDING_8:Class;  
  19.         [Embed(source = '../assets/building/image9.png')]public static const BUILDING_9:Class;  
  20.         [Embed(source = '../assets/building/image10.png')]public static const BUILDING_10:Class;  
  21.         [Embed(source = '../assets/building/image11.png')]public static const BUILDING_11:Class;  
  22.         [Embed(source = '../assets/building/image12.png')]public static const BUILDING_12:Class;  
  23.           
  24.         public static function getRandomImageClass():Class {  
  25.             var n:String = "SampleImage_BUILDING_";  
  26.             var i:int = Math.random() * 12;  
  27.             n = n.concat(i);  
  28.             return getDefinitionByName(n) as Class;  
  29.         }  
  30.           
  31.     }  
  32.       

至于如何知道完全限定类名

可以使用以下类进行测试获取,这里值得一提的是我上面的写法是比较特殊例子,至于为什么特殊就留着看客您琢磨了~~~
 

  1. flash.utils.getQualifiedClassName ()  

 

被阅 112 次, 0 票  发表评论

[原]APNGDecoder---AS3实现进行中

2008年11月16日 作者: KingFo 原创

目前进度50%

已完成数据解码和校验~~~~ 不过目前还是体力活~~~

接下来是还原图片。。。。。。哎,周末结束了.............真不知道我下次有时间是什么时候了。。

以下是测试代码,工程截图............. 哦 对了,这个所谓的 1455049.png就是前篇博文:APNG?
中插入图片,我之所以写这段解码器目的其实只是想让IE也能预览APNG而已........哎.....
不知道哪位同学有APNG解码器的代码呢?有的话可以告诉我声哦~~~

  1. public function Main():void {  
  2.             var l:URLLoader = new URLLoader();  
  3.             l.dataFormat = URLLoaderDataFormat.BINARY;  
  4.             l.addEventListener(Event.COMPLETE, handleURLloader);  
  5.             l.load(new URLRequest("../image/1455049.png"));  
  6.             }  
  7.           
  8.         private function handleURLloader(e:Event):void {  
  9.             apngdecoder.decode(e.target.data)  
  10.             trace(apngdecoder.getResult().getTotalFrames())  
  11.             trace(apngdecoder.getResult().getWidth())  
  12.             trace(apngdecoder.getResult().getWidth())  
  13.             trace(apngdecoder.getResult().getBitDepth())  
  14.               
  15.                           
  16.         } 

 

被阅 109 次, 0 票  发表评论
1 / 6 / 16 | « 1 2 3 4 » |

Google 网上论坛
订阅 XIntend
电子邮件:
访问此论坛

文章分类

站点统计

  • 文章总数: 87 篇
  • 评论总数: 6 条
  • 附件总数: 53 个
  • 留言总数: 0 份
  • 建站日期: 2008-1-1
  • 访问总数: 96251 人次

最新留言

赞助商

友情链接

Design by Free CSS Templates & TiSkin, Powered by Roclog v3.2.13

滇ICP备05000389号, Copyright © 2007 X-Intend[超级打算]. All rights reserved.