1

我正在尝试准备一个万用表。使用旋转代码我在我的舞台上移动针。然后当它达到一个值时,会显示一个显示。现在我有各种不同的电阻值。所以当我点击一个特定的电阻值时,它最初只显示电阻,当针旋转时,电阻和值应该一起显示。我尝试运行此代码,但收到错误 #1009:

import flash.events.MouseEvent;

stop();

Resistance.addEventListener(MouseEvent.MOUSE_DOWN, ResistanceMenu);
btn100Ohm.addEventListener(MouseEvent.CLICK, Ohm100Show);
function Ohm100Show(e:MouseEvent):void
{
    gotoAndPlay(15);
}

stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownOK);
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpOK);

function ResistanceMenu(e:MouseEvent):void
{
    gotoAndPlay(10);
}

function mouseDownOK (e:MouseEvent):void
{
    stage.addEventListener(MouseEvent.MOUSE_MOVE, rotateOK);
}

function rotateOK (e:MouseEvent):void
{
    var angle:Number = Math.atan2(mouseY - needle.y, mouseX - needle.x);
    angle = angle * 180/Math.PI-90;
    needle.rotation = angle;

    Ohm_200.addEventListener(MouseEvent.MOUSE_OVER, Ohm_200Call);
    function Ohm_200Call (e:MouseEvent):void
    {
        gotoAndPlay(20);
    }
}

function mouseUpOK (e:MouseEvent):void
{
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, rotateOK);
}

旋转部分运行正常。但是当我为 btn100Ohm 添加监听器时,我收到错误 #1009

请帮助我

4

2 回答 2

0

来自 ActionScript 3 文档(运行时错误):

#1009 - null 没有属性。

计算结果为 null 的对象可以没有属性。在某些意外(尽管有效)的情况下,可能会发生此错误。例如,考虑下面的代码,它创建了一个 Sprite 对象。由于此 Sprite 对象从未添加到显示列表中(通过addChild() DisplayObjectContainer 对象的方法),因此其stage属性设置为 null,因此,其stage属性不能具有任何属性。所以代码生成错误:

import flash.display.Sprite;
var sprite1:Sprite = new Sprite();
var q:String = sprite1.stage.quality;

于 2012-10-31T03:09:14.547 回答
0

您可能在创建按钮 (btn100Ohm) 之前尝试访问它。我不知道您如何(或在哪里)拥有您的代码和按钮,但错误 1009 表示该按钮尚不存在。

于 2012-10-31T02:56:18.047 回答