前几天写了一篇博文《3种减少Flex文件大小的方法》。

Adobe上又看到了另外两个可以减少文件体积的方法。How do we reduce SWF size so that the download times are lesser?

1、动态载入CSS。通常都是<style source=”style.css”></style>直接嵌入的。但是不要忘记了还有StyleManager。通过它可以动态地载入css,字体,图片。因为<style source=”style.css”></style>在编译的时候会将资源都包含进去,因而也增加了Flex生成文件的体积。如果使用StyleManager的话就从外部另外载入了,不过有个缺点就是增加了网络的连接数。有利有弊吧。

2、动态载入素材(图片,声音等)。

这种比较常用,呵呵。基本上木有人会把很多图片/声音用@Embed标签嵌入到flex中了。呵呵。

treemap-2-1-0

Open Source Flex Component: TreeMap updated to version 2.1.0

Project Home:http://code.google.com/p/flex2treemap/

其实这个想想很简单,在.Net中System.Diagnostics.Process.Start(“XXXXX”);就可以了。甚至用Help.ShowHelp(this,”XXXXX”);这种稍微有点WS的方法也可以,呵呵。

但是在Air中貌似没有直接提供这种方法。

但是有位大师做到了。

Can One AIR Application Launch Another?》

简单地翻译一下:

madhu 提了一个问题 one AIR appliaction can launch another.回答是肯定的,尽管不是直接的。

现在没有API(至少目前没有)运行AIR程序直接运行其他程序。但是,可以通过Air Browser API调用一个网页中的AIR 程序(请注意,这些程序必须是已经载入)。并且,因为您可以在AIR中保存一个网页,那将可能使得您的用户单击后产生两个间接的影响(这句话好像翻译不准确)

以下是简单的步骤:

1、在被载入的程序了,请确认<allowBrowserInvocation>在描述中已经设置。

2、在载入的程序中,声明一个HTMLLoader实例/对象。

3、写一个这样的SWF实现这样的功能:在用户单击后,调用Browser API launchApplication()方法(您可以可以使用同样的方法调用SWF)

4、调用SWF到您的HTMLLoader实例中。

需要用户单击的理由之前讨论过.The AIR Browser API and User Events

最后提示一下:这种方法同样可以用于从另外一个AIR程序安装AIR程序。

原文:《Making dispatchEvent More Efficient

在很多项目中有许多的事件被广播出去,但没有接收者侦听他们。这不应该成为问题,但它原来的Flash Player处理这些事件的效率低下。幸运的是很容易修补这个情况。

以下的代码将比标准的dispatchEvent在没有事件侦听时高出5倍的效率

Code:
override public function dispatchEvent(evt:Event):Boolean {
 	if (hasEventListener(evt.type) || evt.bubbles) {
  		return super.dispatchEvent(evt);
  	}
 	return true;
}

请注意,实际的时间差距非常小(在我的测试中,做了100,000个迭代,使用了以上方法花费了80ms,使用标准方法花费450ms),因此这种方法比较适用于大量没有事件侦听的实例。

举个例子,我在GTween 中使用了这种方法,您可以同时使用成千个缓动活动,每个缓动活动在每帧都会广播出CHANGE事件,通常的,我们会创建没有侦听事件的缓动活动。

我相信这个方法在所有情况下都是可行的,虽然我还没有广泛测试与不太常见的活动情景。事件冒泡也会进行,但是不能获得任何的性能提升。

这样的方法同时也会使得有事件侦听的性能减弱,但是非常微小(<10%,在我的100K 迭代测试中分别为505ms和545ms)

 

PS:虽然这种方法只有在少数情况下才会使用到,而且性能提升不是很大。起到了抛砖引玉的作用,呵呵。

AS3CN看到zhengenru2008 发的25行AS能做出什么?

打开http://www.25lines.com/?page_id=139 一看,的确很强悍,仅仅25行的代码实现了很多精妙绝伦的效果。

http://www.25lines.com/finalists/0812/043.swf 这个小游戏挺有意思,哈哈,回到了DOS时代~

PS:原来这个25行的活动是著名的Keith Peters大师发起的。

貌似也是最近才开的。收集得很全面(Flex方面暂时还没Flex.Org showcase那里全面)

flashapps

详见:http://www.sapphiresteel.com/Download-Amethyst-PE-Adobe-Flex

下载链接:- DOWNLOAD AMETHYST PE (beta 1) (2.3MB approx)

需要.Net Framework 3.5 SP1

当然,目前这款工具可能还不怎么完善,但是至少看到了希望,希望越来越好!:)

发现一个网站:http://www.shinedraw.com/。博客的主人使用了ActionScript和SilverLight两种技术对在相同的应用上做了比较。

有兴趣的同学可以去看一下。

而且貌似这位开发者也会使用中文。

依据是下面这个古老的东东,使用Flash4和as1写的:)

hb_shine_draw

Air允许您在程序中使用ActionScript 库(SWC 已编译文件)。同时也就意味着您可以在JavaScript AIR 程序中使用ActionScript 库以充分利用他们的优点和特性

要在JavaScript中使用SWC库您需要按以下步骤。

1、下载SWC格式的ActionScript库.您可以使用corelib.swc作为示例,然后重命后缀为zip(或其他存档格式,如RAR);

2、下一步,解压缩其中的library.swf(其实上一步可以不用重命名,只要打开方式选择WinRAR即可)

3、重命名为corelib.swf,然后把它放在项目文件夹下

最后,将以下代码放置在您的程序中以引入库


现在,您就可以引用库中的任何方法:

import com.adobe.utils.ArrayUtil;
var isEqual = new  com.adobe.utils.ArrayUtil.arraysAreEqual(array1,array2)

Translated From:http://casario.blogs.com/mmworld/2008/12/using-actionscr.html

前些天发了个Ensemble Introduces Tofino-Visual Studio 的Flex 开发插件 很多人说不够智能。
今天再发一个。呵呵.只是预告
原文:http://www.sapphiresteel.com/Adobe-Flex-Development-in-Visual
这篇新闻是前天发出来的。
简单翻译一下:

SapphireSteel Software 今天宣布了即将发行的Amethyst,一个使用Adobe Flex/AIR 开发RIA的IDE。

Amethyst 将会有两个版本

Amethyst个人版(免费)-Amethyst Personal Edition

amethyst-pe-preview2

Amethyst 个人版是一个提供了为Flex/AIR/ActionScript提供了项目管理,代码编辑,编译运行的环境的免费版本。它将完全免费并且可以自定义安装在免费的Visual Studio ‘Shell’ edition(Visual Studio 2005及以下的同学赶快升级吧)

Amethyst 专业版(商业版,收费)-Amethyst Profressional

amethyst-pro-preview

Amethyst 专业版为Flex和AIR提供了一个拖拽的可视化设计环境。可视化的设计器将会被集成到Visual Studio的工具箱中,属性窗体和代码编辑器将会为C#和VB开发者提供一个无缝的设计/编码体验。

Amethyst 专业版也会包含完整的智能功能,包括了代码提示,代码导航和自动展开摘录(auto-expanding snippets)。Amethyst Profressional 将会智能化分析预编译库和书写的代码。同时,它将提供一个与调试其他Visual Studio 语言一样的调试器用来一步步地验证代码,获取和检查变量。

Amethyst建立在SapphireSteel Software Ruby In Steel(一个用于Ruby on Rails的Visual Studio IDE)的经验之上。当然Amethyst只不面向Ruby开发者,Amethyst将会有选择性地将Ruby In Steel项目整合进去,用Ruby on Rails为Flex和AIR程序提供支持。(当然也包括其他Visual Stuido 支持的语言,如C#和ASP);

>>状况

 

Amethyst 个人版(beta)将会在2008年12月的第二个星期发布。

Amethyst专业版(beta)将会在2009年的第一季度,最终版本将会在第二季度发布。

© 2012 达达's Blog Suffusion theme by Sayontan Sinha