![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 2
|
Здравствуйте, господа профессионалы.
Я не профессионал и поэтому не могу решить одну проблему. Делаю сайт с 3d фотогалереей. Когда захожу на страничку самой галереи, все хорошо, но когда хочу вернуться или перейти на другую страничку, а потом снова вернуться на страничку с галереей, то визуально создается ощущение что она накладывается сама на себя, и на экране видно месиво из фотографий, в общем абракадабра какая-то. У меня есть подозрение что, я удалив контейнер, не сделал еще чего-то важного, поэтому и содержание галереии не исчезает, а появляется снова при повторном обращении к ней. Помогите пожалуйста решить этот вопрос. вот код с галереей: 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); |
|
|||||
|
Регистрация: Feb 2010
Адрес: Красноярск
Сообщений: 21
|
Ну я так понимаю вы создали кнопку по нажатии которой должен удаляться контейнер?
Ну у вас же есть функция remove_pic почему нельяз чистить в ней? |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 2
|
Это кнопка-аналог кнопки назад. То есть при ее нажатии пользователь возвращается на страницу где может выбрать другую галерею или же снова войти в эту.
Прошу прощения, но так как я начинающий, то не могли бы вы подробней описать мне то, что делает фрагмент когда, который вы написали? И что в данном случае является "родителем"? Потому что я пока еще не разобрался с тем куда его вставлять и что именно вставлять в роли родителя. Заранее спасибо. |
|
|||||
|
Регистрация: Feb 2010
Адрес: Красноярск
Сообщений: 21
|
Попробуйте так
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|