[原]AS3 无法访问空对象引用的属性或方法
来源:互联网 发布:淘宝找衣服的技巧 编辑:程序博客网 时间:2024/05/16 06:55
2010年05月19日 星期三 22:48
搬离写了5年的渣度空间,准备把技术性的文章定在CSDN了↖(^ω^)↗。这些都是文章备份。勿怪。。
AS3 flash cs4自带的编译器实在是太一般,只报错误,不曝错误行,最让人郁闷的是 “无法访问空对象引用的属性或方法” 只指出错误文件而不报错误行。
这个错误的原因是访问,设置了空对象的属性或者调用了空对象的方法。
第一点可能:
比如 var obj:Object;
obj.aaa()
当这行错误代码在as文文件中,被fla调用,就会报错。
第二点可能:
最为广泛的是stage对象,如果一个已经编译的swf文件被导入到fla作为一个元件,当这个swf有stage对象的代码,
将把导入的舞台作为它的stage,但是它是无法获取的,因此会造成swf中调用的stage=null,编译器报出“无法访问空对象引用的属性或方法”。
例如stage.displayState=StageDisplayState.FULL_SCREEN
将造成编译错误。这个错误同样会发生在as文档类中。如果a是某fla的文档类,a中实例化另一个b类,如果b类中有stage对象,或者其他空对象,就会报错。请仔细检查。
解决方法:增加 对象名.addEventListener(Event.ADDED_TO_STAGE, 处理函数名),然后在处理函数里写stage相关的操作。注意只可在此函数里或此函数调用的函数里写。还要import flash.events.Event
第三点可能:
Load一个大文件时,没有侦听COMPLETE事件,就急忙为这个文件的Loader赋值各种参数,由于没有加载完全,将导致找不到对象。
解决方法:Loader.addEventListener(Event.COMPLETE,setting)setting为加载完毕执行的函数
并记得 import flash.events.Event
第四点:没有addChild到容器内
一个文件t1.as
-------------------------------------------------
package{
import flash.display.Sprite
public class t1 extends Sprite
{
function t1()
{
var circle = new Sprite();
circle.graphics.beginFill(0x000000, 1)
circle.graphics.drawCircle(0, 0, 15);
addChild(circle);
circle.graphics.endFill();
}
}
}
-------------------------------------------------------
另一个文件t0.as
--------------------------------------------
package {
import flash.display.Sprite;
public class t0 extends Sprite {
function t0() {
var obj=new t1();
//addChild(obj) //漏掉了addChild
trace(this);
}
}
}
新建一个fla,设置文档类为t1,发现可以画出一个黑色的园,但如果设置文档类为t0,就报出无法访问空对象。
因为每一个as文件,我们可以把它看做是一个独立的文档性显示对象容器(displayObjectContainer),.as文件对象中的addChild实际上是把各种显示对象添加到这个容器里。
只有被fla设为文档类的as文件,才会被添加到stage里。其他的都是一个个装满显示对象的容器。当我们需要在舞台上显示它们时,必须先在文档类as文件代码里实例化,然后addChild();
- [原]AS3 无法访问空对象引用的属性或方法
- AS3 无法访问空对象引用的属性或方法
- Flash AS3 无法访问空对象引用的属性或方法
- as3中无法访问空对象引用的属性或方法的问题
- Flash AS3中调试组件时出错------无法访问空对象引用的属性或方法。
- flexlib SuperTabNavigator 无法访问空对象引用的属性或方法
- TypeError: Error #1009: 无法访问空对象引用的属性或方法。(解决)
- flex TypeError: Error #1009: 无法访问空对象引用的属性或方法
- TypeError: Error #1009: 无法访问空对象引用的属性或方法
- Flex4 主程序调用模块方法报TypeError: Error #1009:无法访问空对象引用的属性或方法
- Error #1009: 无法访问空对象引用的属性或方法 --问过的个问题 解决了 记录下
- mx:states包含mx:AddChild 在切换时提示错误"TypeError: Error #1009: 无法访问空对象引用的属性或方法"的解决方法
- 非静态的字段、方法或属性 要求对象引用
- 非静态的字段、方法或属性要求对象引用
- 非静态的字段,方法或属性。。。。。。要求对象引用
- as3遍历对象所有属性的方法
- as3遍历对象所有属性的方法
- VS提示“非静态的字段、方法或属性要求对象引用”
- AS3 SharedObject的保存路径
- c++实现文件传输之四:断点传输
- 第欧根尼与秃子
- Java管理内存
- 安装 arm-linux-gcc
- [原]AS3 无法访问空对象引用的属性或方法
- STM32F103ZE与STM32F103RB的区别
- [原]AS3 如何在影片剪辑上 Movieclip mc 指定帧添加代码程序
- Delphi 正则表达式控件(掩码编辑框MaskEdit)的使用方法
- android小项目打地鼠(一)
- 3d MAYA安装文件地址及破解
- Android调试工具 —— MAT [整理]
- 小知识点
- Square COO: There’s no value in NFC