2011-07-28 2 views
0

私は解決できないような問題があります。私は、動いているオブジェクト(ガイドライン上の円)の後に線を引くアニメーションを作っています。このサークルはムービークリップで、私は描く線がたくさんあります。だから、私は別々のシーンにそれらの多くを置く。私はムービークリップからボタンを作成し、押されたときにはラインを描きます。私は正常に動作するようになっていますが、1行が描画されて同じ行が再び描画される場合は、エラーコードが表示されます。#1009 cannot access a property or method of a null object reference.線を引いてエラーコードを取得する#1009

グラフィックはまだありますが、それが再び引かれる前にそれをクリアするように見えることはできません。私はgraphics.clear();を使用しましたが、それだけですべてがクリアされるので、再び表示されないときはムービークリップアニメーションのみが動作します。ここでの問題は何ですか?

import flash.display.Shape; 
import flash.events.Event; 

var shape = new Shape(); 
shape.graphics.lineStyle(2,0xFF0000); 
shape.graphics.moveTo(ani1.x, ani1.y); 
addChild(shape); 

addEventListener(Event.ENTER_FRAME, loop); 

function loop(event:Event):void 
{ 
    shape.graphics.lineTo(ani1.x, ani1.y); 
} 

とボタンのコードは次のとおりです:

線画のための私のコードがある

import flash.events.MouseEvent; 

stop(); 

menu_button1.addEventListener (MouseEvent.CLICK, buttonClick); 

function buttonClick (event:MouseEvent):void 
{ 
    gotoAndPlay(2, "AniDel1"); 
} 

とアニメーションのすべてが終わりにstop();を持っています。

+0

シーンを削除しようとすると、彼らは悪です。シーンを使用しているときに変数のスコープ/ライフタイムが何であるか分かりません。 ENTER_FRAMEリスナーからエラーが発生する可能性があります。シーンを切り替えたため、まだ実行中ですが、シェイプはもう定義されていません。 – pkyeck

+0

これを試しましたが、動作しません。同じエラーコードがポップアップします。/ :)他のアイデアを助けてくれてありがとう? – Cat

+0

'ani1'は右の円です!タイムラインのすべてのフレームに存在する円ですか?あなたのタイムラインに複数のキーフレームがありますか?すべてのキーフレームに設定されているサークルの名前ですか? errormsgはヌルポインタ例外が発生するコード行について何か言いますか? – pkyeck

答えて

0

は、私はあなたのために一緒に例のFLAを置く:anitest.fla.zip

希望は、これはあなたの問題を解決します。

+0

hnaks :)これは素晴らしいです!しかし、私はうまく動作するようになった、唯一のことは、より多くのボタンを作成し、より多くの線を描画するときの問題である。ボタン "a"とボタン "b"を持っていて、最初のものの後に(たとえば、別のayersで)2つの図を描き、例えば3つまたは4つのフレームを描き、 "a"ボタンをクリックすると、 "b"をクリックすると、 "a"で描かれたものが消去され、 "b"には何が描かれますか?...また、 "a"と "a"を再度クリックすると、私はよく分かりません:pでも理解していますか?:) – Cat

+0

@codeあなたはクラスでのコーディングとタイムラインを取り除くことについて考えるべきです。プロジェクトが複雑になればなるほど、タイムライン上のすべてを維持するのが難しくなります。 IDE内のアニメーションアセットを作成してSWCとしてすべてエクスポートし、すべてを制御するクラスを作成します。 – pkyeck

関連する問題