最近接触flash CS3比较多,但是由于基础不好,常常被一些简单的问题搞得晕头转向。虽然从flash8和MX2004一直都有接触,但是CS3的不同到这两天才开始有所领悟。以前习惯直接在actions frame里面coding,这给之后直接用as3来coding带来了很多不习惯。
AS3里代码和源文件的分离,一段很简单的代码
package com.zhaiduo{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;public class Example extends Sprite {
public function Example() { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; }
}
}
就会出现如下错误:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at com.zhaiduo::Example$iinit()
at learn_fla::MainTimeline/learn_fla::frame1()
后来发现这和Stage有着密切关系,新建的fla文件如果直接在actions frame里面coding,stage是[object Stage]。但是我们写在as文件里面,如果不和一个实例linkage,stage就是null。所以会出现上面的错误。