2012-04-12 3 views
0

XMLを使用してデータを読み込むFlashムービーを作成したいとします。ユーザーが画面をクリックすると、データの各行が1つずつ表示されます。これまで私はすべてのデータを画面に追加しましたが、私はこのためのクリック機構をどのように記述するのかは分かりません。AS3 + XML + MouseEvent

私は私がここに見られるように削除して、オブジェクトにクリックすることを可能にする機能を追加しようとしている:

muppet_name0.addEventListener(MouseEvent.CLICK, fl_ClickToKermit); 

function fl_ClickToKermit(event:MouseEvent):void 
{ 
    muppet_name0.visible = false; 
} 

をしかし、私はそれを再表示させるするかどうかはわかりません。新しいオブジェクトを追加すると同時にオブジェクトを削除するMouseClickイベントを追加するにはどうすればよいですか?

マイドキュメントクラスは、私はあなたが何をしようとして、本当にわからないが、私はあなたが何を探していることは、このようなものだと思います

package { 

import flash.display.MovieClip; 
import flash.text.TextField; 
    import flash.events.MouseEvent; 

public class MuppetsDoc extends MovieClip { 

    public var myData:XML = <data> 
     <item> 
      <a>Kermit the Frog</a> 
      <b>Jim Henson</b> 
      <c>1955</c> 
     </item> 
     <item> 
      <a>Miss Piggy</a> 
      <b>Frank Oz</b> 
      <c>1974</c> 
     </item> 
     <item> 
      <a>Animal</a> 
      <b>Frank Oz</b> 
      <c>1975</c> 
     </item> 

     <item> 
      <a>The Swedish Chef</a> 
      <b>Jim Henson/Frank Oz</b> 
      <c>1975</c> 
     </item> 


    </data>; 




    public function MuppetsDoc() { 


     // constructor code 
     //trace(myData); 
     //muppets_txt.text = myData.item[2].a.length(); 
     var aTxt:String = myData.item[2].a.text(); 
     muppet_name0.appendText(myData.item[0].a.text()); 

     muppet_puppet0.appendText(myData.item[0].b.text()); 


     muppet_year0.appendText(myData.item[0].c.text()); 

     muppet_name1.appendText(myData.item[1].a.text()); 

     muppet_puppet1.appendText(myData.item[1].b.text()); 


     muppet_year1.appendText(myData.item[1].c.text()); 

     muppet_name2.appendText(myData.item[2].a.text()); 

     muppet_puppet2.appendText(myData.item[2].b.text()); 


     muppet_year2.appendText(myData.item[2].c.text()); 

     muppet_name3.appendText(myData.item[3].a.text()); 

     muppet_puppet3.appendText(myData.item[3].b.text()); 


     muppet_year3.appendText(myData.item[3].c.text()); 





    } 
} 

} 
+0

はどういうわけか、私にはよくある質問をお読みください...そこの質問を参照することはできません。 – weltraumpirat

+0

また、あなたの質問を洗練しない限り、イベントリスナーを何にしようとしていますか?何を試しましたか、何が失敗していますか?そのタイプの情報は、良いフィードバックを提供するために必要です。 – shaunhusain

+1

私が試したことと質問を加えました。 – user1330210

答えて

1

従う:

function fl_ClickToKermit(event:MouseEvent):void 
{ 
    muppet_name0.alpha = (muppet_name0.alpha == 0) : 1 ? 0; 
} 

をクリックするたびにalphaの値が反転します。 visibleを使用している場合、DisplayObjectは無効になりますので、クリックすることはできません。代わりにを使用すると、DisplayObjectは有効のままですが、これ以上表示されません。詳細は

チェックドキュメント:

DisplayObject.visible DisplayObject.alpha

+0

これは私が探しているものですが、あなたのコードを追加しても何も変わりません。私はまだテキストを見えなくすることができますが、私はそれを再現させることができません。 – user1330210

+0

あなたのニーズに合った答えを修正しました –

+0

ありがとうございました。私は今いくつかのエラーを生成しています - 行74 \t 1078:ラベルは単純な識別子でなければなりません。 行74 \t 1084:構文エラー:セミコロンの前にコロンが必要です。 行75 \t 1084:構文エラー:rightbraceの前に識別子が必要です。 - それが参照している行は次のとおりです:muppet_name0.alpha =(muppet_name0.alpha == 0):1? 0; } – user1330210