skip to main |skip to sidebar

2007-04-21

Flash是否发展到极限了?

以前写过一篇文章Flash CS3 = Flash 8 + AS3.0 + CS3 UI ? 今天真正用了一下,彻底让我失望。
  1. 实在是太大了,1.2G!有点难以容忍。
  2. 代码编辑功能太差,跟Flash 8差不多,跟FlexBuilder差远了。
  3. 将动画转换为XML,好像只能在Flash里用(无法在Flex里用)。
  4. 用户界面组件,比Flex的差太多,大概为Flex的简化版。
  5. 丰富的绘图功能,DrawingObject却不在了。
  6. Adobe 界面,可以说没有实质的改变。
只有fl.*package有点动心。 看来以后只有flash + flex结合了:(

2007-04-16

Adobe CS3 英文版出货开始了!

Adobe CS3在美国正式出货了!(Adobe Ships Creative Suite 3)

关于Flash CS3,变为不但有AS3,还有跟Illustrator 和 photoshop的整合强化等内容的升级。相当于旧 Macromedia Studio的Web Standard CS3售价$999左右。再加上Photoshop, Illusutrator, Acrobat Web Premium CS3售价 $1,599左右。详细请看这边(Adobe Creative Suite 3 Web Editions)

并且Premire Pro CS3 和 After Effects CS3 的预览版在 Adobe Labs 公开了。(Adobe Premire Pro CS3@Labs, Adobe After Effects CS3@Labs) Premire 好象只支持 Intel Mac 。After Effects 还支持 PowerPC Mac 。据说预定在今年的夏天出货。

2007-04-13

Flash Player 9 更新

Flash Player 9 更新了。最新版是 9.0.45.0 ,拥有Win版和Mac版。 主要目的为对应将要发布的Flash CS3 Professional。修正了以下项目:
  • Flash CS3 Professional 的新的AS3组件不能正确工作。
  • 用gotoAndStop等帧移动来生成的AS3的对象有可能不能正常工作。
  • AS3用的RuntimeShareLibrary(RSL)执行时出现安全性错误。
  • flash.text.TextField.getCharBoundaries的返回领域会向左移2px。
更详细的问题的解说在以下的Technote。(为英文)

2007-04-08

盗版与正版的区别是什么?

一般来说,盗版有可能出现

  1. 盘读不起
  2. 盘容易坏
  3. 内容与封面不符
  4. 有病毒
  5. ...
但“正版”不会。

前几天,在大连花了45元买的一套正版的世界进行曲的光碟(两盘装的)。用 CD player播放时竟然会出现爆音(读到中途读不走,因而反复重读)!没办法,我只好把它拷贝到电脑上,谁知A,B两面的歌的ID3(附加的信息)的名字竟然A,B一模一样!而且封面有多处错误。

这还是正版吗?这还称得上正版吗?或许还不如10元的盗版。

盗版与正版的区别到底是什么?中国的产品质量何时才能提高?

2007-04-05

Apollo窗口的设置

消除OS窗口框架

首先,变更程序配置文件(程序名-app.xml) 里 rootContent 标签。

rootContent 标签的 systemChrome 为 "standard" 时,为 OS 标准的窗口;"none"时,为 Apollo 程序提供的窗口框架。

<rootcontent systemchrome="none" transparent="false" visible="true">[SWF reference is generated]</rootcontent>

按照上面,把 systemChrome 设为 "none",制作一个空的Apollo程序。

<?xml version="1.0" encoding="utf-8"?> <mx:ApolloApplication mx="http://www.adobe.com/2006/mxml"> </mx:ApolloApplication>

执行后,应该会表示以下画面:

Apollo Application Sample

不想使用Apollo 提供的窗口框架时,把 Apollo 程序(程序名.mxml)的根节点从ApolloApplication变为Application。

<?xml version="1.0" encoding="utf-8"?> <mx:Application mx="http://www.adobe.com/2006/mxml"> </mx:Application>

执行后,应该会表示以下画面:

Apollo Application Sample

去掉背景

接着,去掉四方的背景。

首先,在序配置文件(程序名-app.xml)内的 rootContent 标签里有一个 transparent 的属性。把它设为true。

<rootContent systemChrome="none" transparent="true" visible="true">[SWF reference is generated]</rootContent>

只有这些,背景还不会变。还要设置Application的CSS属性:

background-color:""; background-image:"";

这样的话,程序的背景就变为透明的了。

也就意味着执行的程序什么也看不到。

以下为全部代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Style>
Application {
 background-color:"";
 background-image:"";
}
</mx:Style>
<!--一张图片-->
<mx:Image source="myImage.png"/>

</mx:Application>

2007-04-02

No MS! - 对Microsoft说 NO!

对Microsoft说 NO!

Microsoft不是恶霸。no ms 但是太“强”了,并且用户已经受到了损害! 它正在限制着其他的有用的软件。

屡次,Microsoft(以下简称MS)精选和分类软件,并且运用巨大的资源和在Windows开发者的地位,任意地铲除或残忍地削弱竞争对手。但是,MS的产品并不比其他的好。MS要求厂家捆绑Windows在厂家销售的所有的计算机里,但不提供其他的操作系统(参照BeOS)。MS也用同样的手段让MS office预先安装在新的计算机里,并且禁止其他的浏览器预先安装在标准用户桌面上。所以竞争对手没有平等的机会销售他们的产品。最终的结果是我们只有更少的浏览器可以选择,更少的文字处理器,更少的操作系统…

更少的竞争带来了更少的真正的革新和改良。真正能得到市场的新的想法被迫为MS效劳。真正的改良一去不复返,或变得异常的慢。它意味着更低的坚固性,更少的好软件,更高的价格…更新或升级只是为了保持用户的使用率。MS那样地阻止其他的新的企业拥有立足的空间来直接地对抗。美国政府(大部分)不会也不将管理这些事,因为MS给与了他们大量的支持。这是一个巨大的MS的计谋,为了达到他的最终目标:MS的产品在所有的计算机上。如果你使用任何MS的产品,将会助MS一臂之力。最终将成为独家的企业!

没有谁能够让它停止!

除了你。

你可以选择是否用MS让你买的,或者想一想自己,选择一个自己喜欢的。 你可以选择其他来源的产品,或更好的更便宜的。 你可以做出对Microsoft说 NO!的选择

Just Say No to Microsoft(en)

2007-04-01

capture与bubbles详解

所有 在DisplayList 上的渲染单位都支持全新的三段式事件播放机制,以 Stage 为起点自上而下的播报事件到 target 对象(此过程称为 Capture Phase),然后播报事件给 target 对象(此过程称为 Target Phase),最后在自下而上的播报事件(此过程称为 Bubbling Phase)。 示意图如下:(点击播放,动画的GIF) 添加方法为: //Target Phase + Bubbling Phase Child.addEventListener(MouseEvent.CLICK, childCleckHandler, false); //Capture Phase Child.addEventListener(MouseEvent.CLICK, childCleckHandler, true); //如果两个都添加的话,就要写两遍(useCapture一次为true,一次为false) Child.addEventListener(MouseEvent.CLICK, childCleckHandler, true); Child.addEventListener(MouseEvent.CLICK, childCleckHandler, false); 一个例子(要在Flex2的debug模式下才能运行):Sample.as
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;

public class Sample extends Sprite {

    public function Sample() {
        //Parent
        with(graphics) {
            lineStyle(1,0x000000);
            beginFill(0x993300)
            moveTo(0,0);
            lineTo(550,0);
            lineTo(550,550);
            lineTo(0,550);
            lineTo(0,0);
            endFill();
        }
        addEventListener(MouseEvent.CLICK, parentCleckHandler,true);
        addEventListener(MouseEvent.CLICK, parentCleckHandler);
        //Self
        var self:Sprite = new Sprite();
        with(self.graphics) {
            lineStyle(1,0x000000);
            beginFill(0x003399)
            moveTo(50,50);
            lineTo(500,50);
            lineTo(500,500);
            lineTo(50,500);
            lineTo(50,50);
            endFill();
        }
        self.addEventListener(MouseEvent.CLICK, selfCleckHandler,true);
        self.addEventListener(MouseEvent.CLICK, selfCleckHandler);
        //Child
        addChild(self)
        var child:Sprite = new Sprite();
        with(child.graphics) {
            lineStyle(1,0x000000);
            beginFill(0x993399)
            moveTo(100,100);
            lineTo(450,100);
            lineTo(450,450);
            lineTo(100,450);
            lineTo(100,100);
            endFill();
        }
        child.addEventListener(MouseEvent.CLICK, childCleckHandler,true);
        child.addEventListener(MouseEvent.CLICK, childCleckHandler);
        self.addChild(child)
    }
    private function parentCleckHandler(event:Event):void {
        trace("Parent clecked!")
    }
    private function selfCleckHandler(event:Event):void {
        trace("\tSelf clecked!")
    }
    private function childCleckHandler(event:Event):void {
        trace("\t\tChild clecked!")
    }
}
}