这两天看AS3 cookbook和AS3的帮助文档,里面很多代码执行后都会出现“TypeError: Error #1009: 无法访问空对象引用的属性或方法。”这个错误。几经周折,才知道解决办法:使用addEventListener( Event.ADDED_TO_STAGE, enterDLHandle ),把要用的stage代码放到enterDLHandle里面,就没问题了。不知道有没有其他解决方法,知道的说声啊~
在经典论坛上提问这个问题,终于有人做出全面回答了,在此感谢zjs35
首先要明白stage是什么意思,stage是显示对象的一个引用舞台的属性,如果显示对象不在显示列表中,即没有用addChild()添加,stage等于null,你的问题就在这里。
使用stage有下面几种方法:
1、文档类的构造函数中可以直接使用stage属性
2、非文档类可以通过参数传递到类里面。
class Test extends Shape
{
function Test(stage:Stage)
{
}
}
3、不想传递参数时,要注意代码的顺序。
class Test extends Shape
{
function Test()
{
}
functon useStage()
{
trace(stage)
}
}
这样使用
var test=new Test()
test.useStage()//null,你的问题出在这里
addChild(test)//添加到显示列表后,就可以使用stage属性。
test.useStage()//[object Stage]
总之,理解stage是显示对象的属性,位于显示列表中的显示对象的stage才引用舞台
分享到:
相关推荐
AS3 Stage3D 平滑滚屏案例是一个利用ActionScript 3.0和Stage3D技术实现的高效、流畅的滚动屏幕效果的应用示例。这个案例着重展示了如何利用GPU加速来提升滚动性能,使得在处理大量图形或者复杂场景时,仍能保持良好...
《基于AS3 Stage3D的基础2D渲染:深入理解GPU编程》 在计算机图形学的世界里,OpenGL和Stage3D都是实现硬件加速图形渲染的重要工具。这篇内容将深入探讨基于ActionScript 3(AS3)的Stage3D技术,这是一种在Flash...
在Pure AS3环境下,开发者需要掌握以下基本步骤来使用Stage3D: 1. **获取Context3D**:首先,需要在`enterFrame`事件处理函数中获取`stage3D`对象,然后创建`Context3D`实例。 2. **配置Context3D**:设置渲染...
总结来说,使用AS3和Away3D 4.0结合Stage3D GPU加速技术,可以创建出引人入胜的室内全景体验。开发者需要掌握AS3的基本语法、Away3D的API以及Stage3D的原理,才能充分利用GPU的优势,实现高性能的3D渲染。同时,通过...
3. **顶点和片段着色器**:Stage3D支持自定义着色器,即顶点着色器和片段着色器,它们在GPU上运行,负责计算几何形状的位置、颜色和其他视觉效果。 4. **纹理**:Stage3D支持多种纹理格式,包括位图、视频和3D模型...
标题中的“3D立体展示图片-附as3源码”表明这是一个使用ActionScript 3.0(AS3)编程语言创建的项目,旨在实现3D立体图像的展示。ActionScript是Adobe Flash Platform的一部分,主要用于开发富互联网应用程序(RIA)...
3. **Stage3D的使用**:如果源码中涉及Stage3D,那么将包含如何初始化Stage3D上下文、创建渲染循环以及使用Stage3D接口进行几何绘制和着色的代码。 4. **3D图形的建模**:源码可能会演示如何使用AS3构建基本的3D...
2. **3D图形处理**:在AS3中,可以使用Stage3D API来实现高性能的3D图形渲染。Stage3D是Flash Player 11引入的新特性,允许开发者直接与GPU交互,提高了3D游戏和应用的运行效率。 3. **开源框架**:这个3D键盘项目...
在Flash CS5中使用最新flash Player 11 的stage3D API的一个例子
在AS3中,使用逻辑运算符时需要考虑其短路行为。 - **逻辑AND (`&&`)**:只有当第一个表达式为真时,才会评估第二个表达式。 - **逻辑OR (`||`)**:只有当第一个表达式为假时,才会评估第二个表达式。 **建议**: ...
- 开发者可能使用Flash Builder或者Flex SDK来编写AS3代码,同时配合使用ActionScript编译器和调试器。 - 硬件加速的测试和优化可能需要用到GPU性能分析工具,如Adobe Scout或第三方工具。 总的来说,利用Stage3D...
7. **Stage和Timeline**:AS3中的Stage对象代表了舞台,是所有显示对象的顶级容器。Timeline的概念仍然存在,但与AS2相比,其作用更多是作为时间轴,而不是对象的容器。 8. **包和命名空间**:AS3引入了包(package...
总的来说,"3D效果的as3源码"展示了如何利用AS3和Stage3D API在Flash环境中构建引人入胜的3D交互体验。通过学习和理解这些源代码,开发者可以掌握3D图形编程的基本原理,并将其应用于自己的项目中,创造出更多创新的...
AS3语法 AS3语法是ActionScript 3.0的语法规则,用于编写Flash应用程序。下面是AS3语法的一些重要知识...这些知识点都是AS3语法的重要组成部分,掌握这些知识点可以帮助开发者更好地使用AS3语法来编写Flash应用程序。
AS3使用原型链实现继承,类可以通过`extends`关键字继承自另一个类。封装是OOP的重要概念,AS3通过访问修饰符(public、private、protected、internal)来控制类成员的可见性,保护数据的安全性。 四、事件处理 AS3...
3D功能在AS3中通过Stage3D API得以实现,它允许开发者构建高性能的3D游戏和应用程序。 首先,我们需要理解AS3中的3D基础。Stage3D是AS3的一个低级API,提供了一个直接与GPU进行交互的接口,极大地提升了渲染速度。...
12. **ActionScript 3与Flex SDK**:虽然AS3通常与Flash Professional一起使用,但也可以配合Flex SDK进行MXML和AS3的混合开发,创建桌面和移动应用。 在《XFLA期刊第1期》这个资源中,可能包含了关于AS3的深入讲解...
《FLASH AS3代码详解》 在数字媒体领域,Flash AS3(ActionScript 3.0)是一种强大的编程语言,常用于创建互动性丰富的网页动画、游戏以及应用程序。它以其高效性能和灵活的特性,深受开发者喜爱。本教程将深入探讨...