次のコードは、非常に単純なスライド ショーに関するものです。クリックした後、画像(またはswf)を表示し、同時に他の画像を非表示にしたい...これは私のコードであり、正常に動作しますが、btn3ではクリックすると2番目の画像が消えません..どうしてか分かりません。私のコードを十分に書き直すための新しい方法を教えてもらえますか?
import flash.display.Loader;
import flash.events.Event;
var my_first_swf_loading_ever:Loader=new Loader();
my_first_swf_loading_ever.load(new URLRequest('1.jpg'));
var my_second_pic:Loader=new Loader();
my_second_pic.load(new URLRequest('2.jpg'));
var my_3_pic:Loader=new Loader();
my_3_pic.load(new URLRequest('pictures/3.jpg'));
btn.addEventListener(MouseEvent.CLICK, clicked);
function clicked(evt:Event):void
{
if (contains(my_second_pic)) {
removeChild(my_second_pic);
if (contains(my_3_pic)) {
removeChild(my_3_pic);
}
}
my_first_swf_loading_ever.x=120;
my_first_swf_loading_ever.y=120;
addChild(my_first_swf_loading_ever);
}
btn2.addEventListener(MouseEvent.CLICK, clicked2);
function clicked2(evt:Event):void
{
if (contains(my_first_swf_loading_ever)) {
removeChild(my_first_swf_loading_ever);
if (contains(my_3_pic)) {
removeChild(my_3_pic);
}
}
my_second_pic.x=120;
my_second_pic.y=120;
addChild(my_second_pic);
}
btn3.addEventListener(MouseEvent.CLICK, clicked3);
function clicked3(evt:Event):void
{
if (contains(my_first_swf_loading_ever)) {
removeChild(my_first_swf_loading_ever);
if (contains(my_second_pic)) {
removeChild(my_second_pic);
}
}
my_3_pic.x=120;
my_3_pic.y=120;
addChild(my_3_pic);
}