我正在寻找靠谱的Flash开发者

正在找一些相信我人品的朋友,一起干点东西出来。

以下条件满足得越多越好

  1. 至少认真玩过一年ActionScript3。注意,我定义的“玩过”比“学过”要求高多了,玩过是说每周至少有20个小时coding或者debugging;
  2. 之前用过Flash Authoring Tool (Flash CS3、Flash MX2004之类)同时深深鄙视Adobe的官方组件者尤佳;
  3. 认识我有一段时间,知道我这个人靠谱不靠谱;
  4. 人在北京(最好),没有外债,住房稳定 – 我不是资本家,不能给你发一个月几K的工资,但我们未来的大饼则可以透明平分。
  5. 深入掌握SVN(对不起,我们只用SVN,不用VSS或者CVS),我们不是一个人在战斗;
  6. 成年人的判断能力,或者至少明白“期权是扯淡,人民币是王道”这个道理;
  7. 极有责任心,但同时也极渴望平等并追求“罢工权”。

其他:

  1. 我们不为资本家打工,请放心;
  2. 我们干的都是完全符合国家法律和政策思路的事情,一点都不低俗,请放心!
  3. 一起为祖国建设做贡献,构建和谐社会!

感兴趣者联系这个邮箱:awflasher+urgent@gmail.com

全面放弃ActionScript2吧

ActionScript1/2(ActionScript2只不过是ActionScript1的“编译时”增强版),自1998年至今,已经存在整整十年了。AS2由于初次将OOP(面向对象)的理念引入Flash开发而“一炮走红”。我还记得在2004年的时候大量关于OOP、AS2的讨论涌现出来,也有许多热心人出了不少好书来解释,比如Luar的《AS2与RIA开发》。然而留给人们更多的是无止境的疑问……

随着RIA产品需求的日益复杂化,AS2的弱点在实际应用中一再爆发:丧失了AS1高效灵活的特性不说,事件处理机制完全是一塌糊涂。要不是Macromedia给出的mx.utils.Delegate和mx.events.EventDispather两个类,估计所有的OOP开发者都要吐血而亡。

今天我就被AS2的事件机制给折磨了整整1个小时:有某类VideoItemList引用若干个来自XML数据支撑的VideoItem类,在VideoItem中有按钮响应事件需要调用外部的JavaScript函数,并传递本类(VideoItem)的唯一标识符。本来可以在VideoItem类中直接完成,但为了将接口“完美地”提供给另一名开发工程师,我不得不将VideoItem类中的onRelease方法代理(Delegate)+广播(Dispatch)出来到VideoItemList中,再作事件广播(Dispatch)。

这下好了,在VideoItemList中addEventListener去“监听”这个事件响应再对外广播。可是,监听到的函数体中的this并不指向VideoItemList类。

我知道肯定有方案可以解决,但我放弃了。我不想把有限而宝贵的时间浪费在这样一个愚昧的ActionScript事件架构上去做无聊的hacking。直接在VideoItem里面进行ExternalInterface去和JavaScript通信,以后再也不做ActionScript2的项目了。

大家一起拥抱ActionScript3吧!

附:给一些抛弃ActionScript2的铁证吧:

以下是我Blog统计到的FlashPlayer9的安装情况,只有不到2%的人使用FlashPlayer8:

即便在教育网这种“角落”(为了某些人某些扯淡的理由,教育网一直不能访问国外网站)8.0也只有3%了:

(数据取样来自华中科技大学BBS白云黄鹤站

FLV Player实现的关键以及用AS3实现的优势

转载请保留:http://www.awflasher.com/blog/archives/820

Macromedia为了尽早用FLV格式来垄断Web Video应用,在FlashMX2004中匆匆Release了一个Video类。导致AS2时代的Video类设计的有许多问题。这些问题甚至可以追溯到“MovieClip大霸主”对AS2之前所有屏幕显示元素的垄断,在AS2时代中所有的Video对象必须包含在一个MovieClip中(即便是基于IDE导入的Video其实也是在_root这个大MovieClip中),而且也无法通过自定义类来extend。
如果基于AS2开发兼容Flashplayer7以下平台的FLV应用,最佳的方法就是把一个Video实例嵌入一个MovieClip,然后将这个MovieClip指定一个LinkageName,再通过AttacheMovie就能动态地调用这个MovieClip了。我们可以以成员的形式,将这个特殊的MovieClip传入自己的自定义Video扩展类,通过构造器接收一个MovieClip的参数即可。
例如,我想把与视频有关的逻辑整合到一个AVCore类中,我必须这么做:

var vdummy:MovieClip =this.attachMovieClip(“videoHost”,”vname”+this.getNextHighestDepth(),this.getNextHighestDepth());
//videoHost是Library中的一个MovieClip含有一个instanceName为”v”的Video实例
var AVCore:AVCore = new AVCore(vdummy);

这里的AVCore的构造函数负责接收这个vdummy,如:

class AVCore
{
private videoInstance:Video;
function AVCore(stage_mc:MovieClip)
{
this.videoInstance = stage_mc.v;
}
}

这一切在AS3中将得到改善,看看ActionScript3 CookBook中提到的Video类,非常强大,也挣脱了MovieClip的束缚,我们可以直接new一个Video实例,然后append之进入显示层(Display List),更可以自己extend了。除了Video以外,更多灵活的可视化资源也尽在掌控,在AS3种,不会再有麻烦的attachMovie;一个new一个append,非常干净优雅的代码。关于AS3的渲染模式,官方这张图说的很清楚:

DisplayList in Flash9

近期使用 curveTo 一些问题,一些想法

一直都没有使用这个函数,这次决定扫盲了。

在www.flashsun.com/club看到一篇贴,有人提到http://map.twnic.net.tw/

我觉得其中的“flash连线”用XML+curveTo完全可以实现。

不过,有一个问题,就是curveTo画圆好像非常不厚道……

于是搜索了一下,发现了很多好东西。觉得没必要花时间重复别人的劳动了,直接拿5shan的来用吧!

curveTo加强版的曲线效果
http://www2.flash8.net/teach/3168.htm

我的Flash《JGDI图形绘制类》开发心得及结构图
http://www.5dblog.com/vip/5shan/index.asp?id=39964

我的Flash图形绘制类源代码共享!
http://www.5dblog.com/vip/5shan/index.asp?id=44317

整理一个AS2.0的Graphics类 (KongLong)
http://www.klstudio.com/blog/content.cfm?id=36

说的非常明显了。
如果要更深入了解,先要了解一下什么是Beizer曲线,回去补补高等数学吧。

actionscripting vs. “real” programming

明天来翻译这一堆文章,嘿嘿,gotoANDplayIT的牛人真是多~

首先,楼主发了篇贴:

引用自
我感觉到,很多所谓的“真正的程序员”都把actionscript看作是儿童的玩具,或者是设计师的救命稻草。
这是真的么?

如果可以的话,请给我几个反面的论点,我来驳斥他们

引用自 randall的回复
Scripting in general isn't a "toy". In fact, it is smart design.

Most modern [commercial and hobbyist] game engines include some sort of scripting engine. Some even implement standardized languages like Python, Lua and JavaScript. Run a check on how many of the most popular games today use scripting, which is especially effective with mods, and you might be shocked.

This scripting-movement isn't limited to games. Popular tools and applications, expecially open-source, use scripting. PHP is among the most popular scripting languages used on the web today, and even drive this message board.

We all realize that

Continue reading “actionscripting vs. “real” programming”