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オブジェクトを作成する次のコードについて考えてみます。このスプライトオブジェクトは(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 に答える