Здравствуйте, господа профессионалы.
Я не профессионал и поэтому не могу решить одну проблему. Делаю сайт с 3d фотогалереей. Когда захожу на страничку самой галереи, все хорошо, но когда хочу вернуться или перейти на другую страничку, а потом снова вернуться на страничку с галереей, то визуально создается ощущение что она накладывается сама на себя, и на экране видно месиво из фотографий, в общем абракадабра какая-то.
У меня есть подозрение что, я удалив контейнер, не сделал еще чего-то важного, поэтому и содержание галереии не исчезает, а появляется снова при повторном обращении к ней.
Помогите пожалуйста решить этот вопрос.
вот код с галереей:

Код AS3:
stop ();
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.materials.*;
import caurina.transitions.*;
var container_x:Number = stage.stageWidth * 0.5;
var container_y:Number = stage.stageHeight * 0.5 + 160;
var container:Sprite = new Sprite();
container.x = container_x;
container.y = container_y;
addChild(container);
var scene:Scene3D = new MovieScene3D(container);
var cam:Camera3D = new Camera3D();
cam.zoom = 6;
loading_info.text = "";
var no_of_ring:Number = 3;
var angle:Number = 0;
var p_dict:Dictionary = new Dictionary();
var pa:Array = new Array();
var filename_list = new Array();
var folder:String = "PortfolioPhotos_Infop2/";
var i:Number;
var total:Number;
var flashmo_xml:XML = new XML();
var pic_loader:Loader = new Loader();
var xml_loader:URLLoader = new URLLoader();
xml_loader.load(new URLRequest("thumbnail_list_5.xml"));
xml_loader.addEventListener(Event.COMPLETE, create_thumbnail);
function create_thumbnail(e:Event):void
{
flashmo_xml = XML(e.target.data);
total = flashmo_xml.thumbnail.length();
var angle_per:Number = Math.PI * 2 * no_of_ring / total;
for( i = 0; i < total; i++ )
{
filename_list.push( flashmo_xml.thumbnail[i].@filename.toString() );
var bfm:BitmapFileMaterial = new BitmapFileMaterial(
folder + "s_" + flashmo_xml.thumbnail[i].@filename.toString());
bfm.oneSide = false;
bfm.smooth = true;
var p:Plane = new Plane(bfm, 100, 100, 2, 2);
scene.addChild(p);
var p_container:Sprite = p.container;
p_container.name = "flashmo_" + i;
p_dict[p_container] = p;
p_container.buttonMode = true;
p_container.addEventListener( MouseEvent.ROLL_OVER, p_rollover );
p_container.addEventListener( MouseEvent.ROLL_OUT, p_rollout );
p_container.addEventListener( MouseEvent.CLICK, p_click );
p.rotationY = - (i * angle_per) * (180/Math.PI) + 90;
p.x = Math.cos(i * angle_per) * 300;
p.z = Math.sin(i * angle_per) * 300;
p.y = Math.floor( i / 18 ) * 105;
}
}
function p_rollover(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
Tweener.addTween( sp, {alpha: 0.5, time: 0.4, transition:"easeOutExpo"} );
}
function p_rollout(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
Tweener.addTween( sp, {alpha: 1, time: 0.4, transition:"easeInExpo"} );
}
function p_click(me:MouseEvent)
{
var sp:Sprite = me.target as Sprite;
var s_no:Number = parseInt(sp.name.slice(8,10));
pic_loader.contentLoaderInfo.addEventListener(Event.OPEN, on_open);
pic_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, on_progress);
pic_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, on_pic_loaded);
pic_loader.load(new URLRequest( folder + filename_list[s_no]));
pic_loader.alpha = 0;
Tweener.addTween( container, { y: 1200, time: 0.6, transition:"easeInExpo" } );
}
function on_open(e:Event):void
{
loading_info.text = "Loading... 0%";
}
function on_progress(e:ProgressEvent):void
{
var percent:Number = Math.round(e.bytesLoaded / e.bytesTotal * 100);
loading_info.text = "Loading... " + percent + "%";
}
function on_pic_loaded(e:Event):void
{
loading_info.text = "";
addChildAt(pic_loader, 1);
pic_loader.x = Math.round(stage.stageWidth - pic_loader.width) * 0.5;
pic_loader.y = Math.round(stage.stageHeight - pic_loader.height) * 0.5;
pic_loader.addEventListener(MouseEvent.CLICK, remove_pic);
Tweener.addTween( pic_loader, { alpha: 1, time: 0.8, transition:"easeInExpo" } );
removeEventListener(Event.ENTER_FRAME, render);
}
function remove_pic(e:Event):void
{
Tweener.addTween( pic_loader, { alpha: 0, time: 1, onComplete:function() { removeChild(this); } } );
Tweener.addTween( container, { y: container_y, time: 1, delay: 1, transition:"easeOutExpo"} );
addEventListener(Event.ENTER_FRAME, render);
}
addEventListener(Event.ENTER_FRAME, render);
function render(e:Event):void
{
var distance_x:Number = (stage.mouseX - 400) * 0.0001;
angle += distance_x;
cam.x = - Math.cos(angle) * 150;
cam.z = Math.sin(angle) * 150;
scene.renderCamera(cam);
}
function goBt3(e:Event) //вот здесь я удаляю контейнер,но..//
{
removeChild(container);
this.gotoAndPlay (1);
}
bt3.addEventListener(MouseEvent.CLICK, goBt3);