标签存档: Flex

Flex编译器参数中-swf-version与-target-player之关系

今天下载了Flex 4.6 SDK后,发现framework/flex-config.xml中的默认-swf-version的值变成了14,而-target-player则变成了11.1。

记得在Flash Player 11发布的时候,为了能正常的编译面向Flash Player 11的swf文件,需要将-swf-version的值设置为13。以此推算,14这个值应该是针对Flash Player 11.1的。

那么-swf-version和-target-player的对应关系如何?见下表: 继续阅读 »

怎么看待Adobe停止移动版Flash播放器开发,而加大HTML5的开发?

这是我在知乎上的一个回答,原文:http://www.zhihu.com/question/19910415/answer/13337373

HTML5势不可挡,但Flash在视频、游戏方面依然有优势。

其实现在互联网上跟风叫嚣Flash烂的人,绝大多数都是没有深入过Flash开发的人。

Flash在技术上与HTML5+JS2+CSS3相比,目前还是有很多优势的:

  1. 比较完善的开发和调试环境;
  2. 统一的性能表现;
  3. Socket连接的支持;
  4. 优秀的摄像头和麦克风的支持;
  5. 统一的平台语言;
  6. 面向虚拟3D设备的编程。

但,Flash也有很多劣势: 继续阅读 »

[转]关于Flex未来走向的问答

这个问答对于Flex开发者非常重要:

在Adobe公布策略调整的这一周,我们知道,Flex社区围绕Adobe的Flex SDK的计划有很多疑问,我们尝试回答这些问题:

问题1:Adobe公司还会致力于发展Flex吗 ?

答:是的。我们知道Flex为企业级开发提供了一套独特的解决方案,也知道应用开发领域的技术前景正在迅速改变,并且我们的客户希望更直接的控制他们所使用的技术。鉴于此,正如我们将收购Nitobi得到的PhoneGap贡献给Apache基金会那样,我们计划将Flex SDK贡献给一个开源组织。

这个项目的成员组成包括:一些来自Flex SDK工程团队的开发者,Flex社区的技术达人,还有一些成员来自于Spoon项目和一些已经使用Flex技术的企业。Flex SDK未来的开发将在新的领导模式下继续,Adobe也将为此作出积极贡献。

问题2:Adobe建议我们在企业级开发中应该使用Flex还是HTML5? 继续阅读 »

设置Vim的errorformat以支持mxmlc编译器

vim_emf1

Vim调用Ant编译swf并自动调试一文中,我介绍了使用Vim来编译swf的方法,这半年来,我一直都用Vim+Ant+FlexSDK做AS开发,感觉总体效率上比Flash Builder要高许多。

不好的地方,其实也有许多。最大的不便就是没有代码提示,对于不熟悉的方法,必须要去查看Language Reference。还有个附带的不便就是必须自己手动导入包。不过这两个不便之处,又让我远离了Flash Builder中的哪些错误的代码提示(我被误导过好多次),以及让我更熟悉AS3的包结构。

今天说的不是这些,好了,进入正题把!

在Vim中,有许多为程序员着想的地方。比如碰到编译错误后会自动打开第一个出错的文件并跳转到出错行。改完这个错误后可以用 :cn 命令跳转到下一个出错处继续修改。这个特性降低了程序员在调试过程中对鼠标的依赖,提高了效率。 继续阅读 »

Flex Compiler SHell Server配置方法

看过Ant and FCSH资源合集的童鞋应该都知道Flex Compiler SHell Server(后简称为FCSHServer)这个用VB开发的FCSH wrapper。本篇就介绍它的用法。

1. 下载FCSHServer并安装;
2. 设置环境变量FCSHServer={你的安装目录,例如:D:\FcshServer}。zrong强烈建议你安装的文件夹不要包含空格,貌似环境变量设置之后,只有重启Windows才能起作用
3. 设置安装目录下server.ini中的sdk和java的值。sdk指向flex SDK文件夹,java指向JDK文件夹,例如:

    sdk=d:\flex_sdks\4.1.0
    java=d:\Java\jdk1.6.0_25

4. 配置Ant项目,直接看代码吧,有注释(这个项目会经常更新,最新的版本看这里):

继续阅读 »

Ant and FCSH资源合集

如果你和我一样,正在或者准备用纯Flex SDK开发SWF或AIR,那么你一定需要FCSH。

fcsh(the Flex compiler shell)是一个基于命令行的编译环境,你可以用它来编译应用程序,模块,和SWC库。它的工作方式与mxmlc和compc类似,但编译速度则要快很多。原因是fcsh会利用内存和缓存。想看更多的介绍,可以看看这里:Using fcsh, the Flex compiler shell

现在,你已经知道使用SDK编译程序比Flash Builder要慢许多的原因了(实际上,Flash Builder第一次编译程序也是很慢的,但编译之后,它就在后台运行了一个fcsh用来加速)

fcsh命令行的使用方法没有什么好说的,直接看上面的链接即可。fcsh是使用命令行来调用mxmlc的,而且fcsh必须始终保持运行,并总是使用这个进程进行编译,否则就没有优化效果。所以,现在有个问题:
继续阅读 »

Vim调用Ant编译swf并自动调试

或许很少有人像我这么极端吧,放着好好的盗版XP和盗版Flash Builder不用,偏要去鼓捣什么Vim……

当然,在Vim下面,你可以自己写脚本调用Flex SDK的命令行编译器mxmlc进行编译,但我更愿意用Ant,原因如下:

  • 配置方便
    基于XML的配置文件,比命令行好读好写;
  • JAVA原生
    Ant是JAVA写的,Flex SDK的编译器(mxmlc、compc、asdoc……)也是JAVA写的;
  • 通用
    换用Linux或Mac,也一样用,顶多改改变量中的路径。

在Flash Builder下面,按F11后,就可以自动编译swf并打开Flash Player,并显示trace信息,以及调试断点。在Vim中也能这样么?

大部分可以。我们可以用fdb进行swf的调试工作,能看到trace信息,也能设置断点和进行调试,可惜没有Flash Builder那么直观。
但是!!!你可以用Vim写AS代码了!塞翁失马你有没有!!!!

那么,开始吧!

(注意,本文假定你了解Vim)
继续阅读 »

Actionscript,AS3,MXML,Flex,Flex Builder,Flash Builder,Flash,AIR,Flash Player之关系

FlashIDE发展史

2011-05-06更新:加入SWF SWC SWZ部分

2011-09-19更新:smithfox推荐了一篇英文的,比我的更详细:Versions in the Flash Platform


这篇文章本来是我在9ria上对网友的回复,但最近询问此类问题的网友越来越多,就整理了一下,增加了一些东西。原贴见这里

ActionScript

ActionScript通常简称为AS,它是Flash平台的语言。AS编写的程序,最终可以编译成SWF、SWC。SWF就是我们常说的Flash动画。但是现在SWF已经不仅仅是动画,而是RIA的载体。

ActionScript有3个版本,分别是1.0版(AS1),2.0版(AS2)和3.0版(AS3)。只有Flash Player 9及以上播放器才支持AS3编译的SWF。这三个版本的差别非常大,现在最流行的版本是AS3。 继续阅读 »

有Flex应用基础,做游戏还需要学习什么

今天在论坛上回复了一篇帖子,记下来:

原帖:http://bbs.9ria.com/thread-74150-1-1.html
小弟以前是做java 程序员的 ,接触flex 也有一年了 从之前的flex3 到现在的flex4 ,在公司的项目中,我也经常使用flex的各种组件,但我个人对flex游戏制作方面很有兴趣,所以想请教下有flex游戏开发经验的各位达人,小弟现在欠缺的是什么?
我的回复:

继续阅读 »

[转]深入Flex4——了解Element和Child的异同

转自:http://bigt.javaeye.com/blog/764430

英文原文:http://www.billdwhite.com/wordpress/?p=296


当我了解到Flex4那些对我诸多裨益的新特性后, 我便决定转而使用它。刚开始的时候,我试图利用在Flex前作中的认识和既有经验来快速进入状态。但很快我便发现有时即使面对一些显而易见的问题我也不得不求助于API文档或者运行一些示例程序来弄清这种问题的来龙去脉。根据以往经验,Flex3 的Halo在处理显示列表的时候隐藏了大量的实现细节和不良设计。然而一旦你开始使用新的Spark架构后,你就得以近距离的面对这些实现细节—Halo究竟在私底下干了什么,而且你会体会到为什么说Spark对于显示列表的处理更为“直白”。

“elements”是一个关键性的问题。elements是何物?它同child是否是一回事?刚开始的时候我曾武断的认为elements不过是children的另一种说法。通过反复梳理组件中所有的elements和children,我发觉在新的容器类(也包括一些经过改良的传统容器)某些似乎是理所当然应该具备的方法消失了。如果没有getElements(),我该如何获取elements的数目呢?我能否把getChildren() 的返回结果作为IVisualElement来对待。这令我十分纠结。

困扰的我于是开始认真阅读学习API文档,Flex的源码以及相关的博客文章。我也曾尝试解读一些博主发布的关于Flex4新特性的幻灯片。然而事实证明脱离讲解而孤立的看幻灯片作用相当有限。

最后,我拼凑了一些言简意赅的示例。这些示例将带领我了解有关elements的全新知识,告诉我那些在新的Spark容器背后发生的故事。 继续阅读 »