avatar
Today is 星期四
2010 年 09 月 09 日

搜索结果 标签: flex

2010 年 04 月 23 日

不错的vim下的as3类库……

by fireyang — Categories: flex, ubuntu — 标签:, 评论暂缺

看到emptyhua同学的这篇文章:

ubuntu上flex开发相关

他已经将所有的sdk的类库都导出了,做了个简单的自动补全……

希望用vim开发as的人越来越多

使用:

  1. 字典文件下载 : as3_dict
  2. vim添加:
    "将字典文件放到相应的目录就可以了,这里是~/.vim/as3_dict.txt
    au FileType actionscript call AddAS3Dict()
    function AddAS3Dict()
        set dictionary-=~/.vim/as3_dict.txt dictionary+=~/.vim/as3_dict.txt
        set complete-=k complete+=k
    endfunction

2009 年 07 月 09 日

不错的在线flash编译器

by fireyang — Categories: flex, 未分类 — 标签:, 3 条评论

http://wonderfl.net

这个站点不错,代码编辑器和编译器都挺好

还有很多代码供学习,对as3初学者有帮助。

如果你是老手了,也能学到写不错的代码。

aaaaaaaaaa

2009 年 07 月 03 日

getDefinitionByName+Embed使用,未定义错误

by fireyang — Categories: actionscript, flex — 标签:, , 评论暂缺

getDefinitionByName的用处是可以通过字符串映射的取到相应的类。
但是如果你在一个类中,embed一个图片,将这个图片声明为一个class 。这样用getDefinitionByName来调用,就会出现“未定义错误”。

package
{
	import flash.display.Bitmap;
	import flash.display.MovieClip;
	import flash.utils.getDefinitionByName;

	/**
	 * ...
	 * @author FireYang
	 */
	public class embedTest extends MovieClip
	{
		[Embed(source="tile1.png")]
		private var tile1:Class;

		public function embedTest()
		{
			var string:String = "embedTest_tile1";//所在类名+"_"+embed的类名
			var c:Class = getDefinitionByName(string) as  Class;
			var b:Bitmap = new c();
			b.x = 100;
			b.y = 100;
			trace(b);
			addChild(b);
		}
	}
}

采用上面的形式,红色部分是重点,就没问题了!原因还没找到,呵呵,但是测试了没错!

2009 年 06 月 28 日

ubuntu+flex ant task的问题

by fireyang — Categories: flex, ubuntu — 标签:, , 评论暂缺

在ubuntu下安装了ant

sudo apt-get install ant

然后配置好sdk。

完全依照http://blog.eshangrao.com/2007/02/25/349/这里的配置,但是出问题了

每次在编译的时候出现:

java.lang.IllegalAccessError: class org.apache.xerces.util.XMLAttributesMMImpl$AttributeMMImpl cannot access its superclass org.apache.xerces.util.XMLAttributesImpl$Attribute
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)

后来查了下原来是ant的版本问题,我的是1.7.1。在1.6.2是没有这个问题的,但是有办法解决。
将sdk中的某个文件屏蔽掉就可以了。

mv ~/flex/lib/xercesPatch.jar ~/flex/lib/xercesPatch.jar.bak

如此就可以了,继续学习ant……

2009 年 04 月 28 日

不错的Flex视频教学(初学者)

by fireyang — Categories: flex — 标签:, , 评论暂缺

一周学会Flex教学视频(中文字幕)

http://www.riavideo.net/ODT/list.html

2009 年 04 月 24 日

AS3最佳技巧和实践

by fireyang — Categories: flex — 标签:, 评论暂缺

在网络上找到很多关于AS3实践优化的资料,自己整理下(自己还没有验证过,有时间再写测试代码):

  1. new Array() 和 new Object() 比直接用 [] 和 {}慢3倍的效率:

    var a = [];
    var b = {};

    代替

    var a =new Array();
    var b = new Object;

  2. 数组的索引用整数:
    list[int(0)]比直接用list[0]快。
  3. Array的创建是消耗是非常大的,所以不要这样做,尽可能重复利用,更新数组相对性能小很多:
    var vanityCollection01 : Array = new Array();
    var vanityCollection02 : Array = new Array();
    var vanityCollection03 : Array = new Array();
    var vanityCollection04 : Array = new Array();
  4. 更快的数组拷贝:
    var copy : Array = sourceArray.concat();
  5. 用{}的匿名对象创建比new 快:
    var o : * = {firstName:"John",lastName:"Smith",age:45 };
    NOT:
    var p : Person = new Person();
    p.firstName = "John";
    p.lastName = "Smith";
    p.age = 45;
  6. 静态函数应用,不需要创建对象实例:
    StringUtils.trim( "text with space at end " );
    类定义:
    package
    {
         public final class StringUtils
             {
              public static function trim( s : String ) : String
              {
                   var trimmed : String;
                   // implementation... 
                   return trimmed;
               }
          }
    }
  7. 在应用程序中,常量定义是无法修改的:
    public const APPLICATION_PUBLISHER : String = "Kannopy, Inc.";
  8. 不想被继承的类,可以用final来修饰:
    public final class StringUtils
  9. package级别的函数和变量,不需要类和对象实例,直接调用(这些好像还没怎么用到):
    createSnapShot( arg );

    不需要:

    someObjectInstance.createSnapShot( arg );
    SomeClass.createSnapShot( arg );

    类定义:

    package
    {
         // imports…; 
         public function createSnapShot(target:IBitmapDrawable) : Bitmap
         {
              // implementation… 
          }
    }
  10. if和switch的效率是一样的,:
    if ( condition )
    {
         // handle condition 
    } 
    
    switch ( condition )
    {
         case "A":
             // logic to handle case A 
         break; 
    
         case "B":
             // logic to handle case B  
         break;
    }
  11. AVM中用int比Number在执行循环速度要快:
    (var i: int = 0; i < n; i++) NOT for (var i: Number = 0; i < n; i++)
  12. uint要少用,比较慢:

    var footerHex : uint = 0x00ccff;
    for (;i<n2;i++) Vector3D(array[int(i*2)]).x = 2;

    不要用(因为会自动转为Number的):

    for (;i<n2;i++) Vector3D(array[i*2]).x = 2;
  13. 不要用int来赋值小数:
    var decimal : Number  = 14.654;

    不要用(因为会自动转为Number的):

    var decimal : int  = 14.654;
  14. 用乘法来代替除法:5000/1000=>5000*0.001:
  15. 不要在循环内执行相同的运算:
    for (..){a*180/Math.PI;}
    声明: toRadians = a*180/Math.PI; 放置到循环外面
    for (var i=0;i< myArray.lengh;i++){ }

    应该采用:

    var len : int = myArray.lengh;
    for (var i=0;i<len;i++){}
  16. 使用完事件监听需要remove掉
    removeEventListener( Event.COMPLETE, onComplete );
  17. 使用delete释放内存
    delete someObject;
  18. 使用正则表达式验证,使用字符串搜索
    // postal code validation example using regular expressions 
    private var regEx:RegExp = /^[A-Z][0-9][A-Z] [0-9][A-Z][0-9]$/i;
    private function validatePostal( event : Event ) : void
    {
         if( regEx.test( zipTextInput.text ) )
         {
              // handle invalid input case 
          }
    } 
    
    // search a string using String methods 
    var string : String = "Search me";
    var searchIndex : int = string.indexOf( "me" );
    var search : String = string.substring( searchIndex, searchIndex + 2 );
  19. 重用对象特别是(DisplayObjects, URLLoader),保持内存使用平稳,因为创建这些对象会使得cpu和内存占用加大,可能导致画面不流畅。
  20. 使用delete释放内存
    delete someObject;

继续补充中……

2009 年 04 月 22 日

[原创翻译]Papervision3D 2.0 Alpha-Great While

by fireyang — Categories: actionscript, flex — 标签:, , , , 11 条评论

个人原创翻译:如果转载请指明出处。

原作者还在写,我也在持续翻译,希望大家也多多支持……

Papervision3D 2.0 Alpha-Great While

[原创翻译]Flex性能,内存管理和对象缓存

by fireyang — Categories: actionscript, flex — 标签:, , 2 条评论

Flex性能,内存管理和对象缓存

2009 年 04 月 07 日

收到Adobe的免费序列号

by fireyang — Categories: flex — 标签:, 3 条评论

今天收到Adobe的Flex序列号,成免费用户了,哈哈

screenshot_001

2009 年 03 月 07 日

Adobe UI设计比赛网站,很多资源

by fireyang — Categories: flex — 标签:, , , 评论暂缺

screenshot_003

无意中发现这个网站;其中的设计作品支持下载

好多优秀的皮肤(部分皮肤图片):

aeon icandy

brownie kingnare

还等什么,赶紧去看看吧:

http://www.scalenine.com

© 2010 fireyang’blog All rights reserved - Wallow theme by TwoBeers Crew - Powered by WordPress - Have fun!浙ICP备07033342号