【问题标题】:Flash CS5.5 Output Error闪存 CS5.5 输出错误
【发布时间】:2012-05-16 12:55:20
【问题描述】:

我一直在创建一个超媒体播放器,但我已经到了它出现故障的阶段,它显然是一个......

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at AvalancheCityHypermediaPlayer_fla::MainTimeline/fl_CustomMouseCursor()

这是我的代码:

import flash.events.Event;

cust_cursor.mouseEnabled= false;

cust_cursor.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);

function fl_CustomMouseCursor(event:Event)

{

    cust_cursor.x = stage.mouseX;

    cust_cursor.y = stage.mouseY;
}

Mouse.hide();

我不知道为什么它不能正常工作,基本上当一个按钮悬停在它上面时,它意味着跳转到第 2 帧并停止,但它正在跳转到该帧,然后直接跳转到第 1 帧而不停止第 2 帧,并在第 1 帧停止。

【问题讨论】:

    标签: actionscript-3 flash-cs5


    【解决方案1】:

    1 . 您的错误没有产生行号。您(和我)会发现这对于调试非常宝贵;如果在 Flash IDE 中,您可以在 swf 首选项下的“发布设置”中将其打开,作为标题为“允许调试”的开关。

    2 .此代码是在类中还是在文档代码中(例如,Flash IDE“操作”选项卡)?如果它在类中,请确保将阶段的引用传递给类的构造函数并将其分配给内部持久变量,以便 fl_CustomMouseCursor 可以解决它。默认情况下,类没有引用舞台的内部方式,我假设这就是产生 #1009 错误的原因。

    例如,在您的类构造函数中...

    package com.example {
        public class MyClass {
            private var stage;
            public function MyClass(arg) {
                stage = arg;
            }
        }
    }
    

    在实例化类时在外面...

    var myObj:MyClass = new MyClass(stage);
    

    3 .如果您希望代码在帧上停止,请使用stop();gotoAndStop()

    4 . 最后,如果您使用 Flash IDE 进行编译,您可以对其进行调试,并准确查看堆栈中运行时环境的哪个变量存在问题。您可以从调试菜单或使用control-shift-enter 编译来访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 2013-03-06
      • 2018-11-29
      相关资源
      最近更新 更多