|
|
|||||
Регистрация: May 2008
Сообщений: 2
|
PV проблема с перезапуском меню
Сегодня столкнулся с проблемой перезагрузки меню на папервижине.
имеется собственно меню import org.papervision3d.scenes.*; import org.papervision3d.cameras.*; import org.papervision3d.objects.*; import org.papervision3d.materials.*; import fl.transitions.Tween; import fl.transitions.easing.*; import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.x = 512; container.y = 420; addChild(container); var scene:Scene3D = new MovieScene3D(container); var cam:Camera3D = new Camera3D(); cam.zoom = 6; tn_title.text = ""; tn_desc.text = ""; tn_url.text = ""; var p_dict:Dictionary=new Dictionary(); var pc:Plane = new Plane(); pc.visible = false; cam.target = pc; var numOfRotations:Number = 3; var yPos:Number = 0; var angle:Number = 0; var filename_list = new Array(); var url_list = new Array(); var url_target_list:Array = new Array(); var title_list = new Array(); var description_list = new Array(); var folder:String = "thumbnails/"; var i:Number; var j:Number = 0; var k:Number = 0; var l:Number = 0; var m:Number = 0; var total:Number; var flashmo_xml:XML = new XML(); var loader:URLLoader = new URLLoader(); loader.load(new URLRequest("thumbnail_list_3.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 anglePer:Number = ((Math.PI*2) * numOfRotations) / total; for( i = 0; i < total; i++ ) { url_list.push( flashmo_xml.thumbnail[i].@url.toString() ); url_target_list.push( flashmo_xml.thumbnail[i].@target.toString() ); title_list.push( flashmo_xml.thumbnail[i].@title.toString() ); description_list.push( flashmo_xml.thumbnail[i].@description.toString() ); var bfm:BitmapFileMaterial = new BitmapFileMaterial( folder + flashmo_xml.thumbnail[i].@filename.toString()); bfm.oneSide = false; bfm.smooth = true; var p:Plane = new Plane(bfm, 140, 105, 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*anglePer) * (180/Math.PI) + 90; p.x = Math.cos(i * anglePer) * 480; p.z = Math.sin(i * anglePer) * 480; p.y = yPos; if( (i+1) % 20 == 0 ) { yPos += 115; } } } function p_rollover(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 1, 0.5, 0.6, true); var s_no:Number = parseInt(sp.name.slice(8,10)); tn_title.text = title_list[s_no]; tn_desc.text = description_list[s_no]; tn_url.text = url_list[s_no]; } function p_rollout(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var tw:Tween = new Tween(sp, 'alpha', Strong.easeOut, 0.5, 1, 0.6, true); tn_title.text = ""; tn_desc.text = ""; tn_url.text = ""; } function p_click(me:MouseEvent) { var sp:Sprite = me.target as Sprite; var s_no:Number = parseInt(sp.name.slice(8,10)); navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]); } addEventListener(Event.ENTER_FRAME, render); function render(e:Event):void { var dist2:Number = ((stage.mouseX) - 400) * 0.0001; angle += dist2; cam.x = - Math.cos(angle) * 150; cam.z = Math.sin(angle) * 150; var new_zoom = 8.5 - stage.mouseY * 0.008; cam.zoom += ( new_zoom - cam.zoom ) * 0.06; scene.renderCamera(cam); } stop(); Menu_button.addEventListener(MouseEvent.CLICK, startMenu); function startMenu(event:MouseEvent):void { this.gotoAndStop(1,"Scene 30"); } stop(); Menu_button.addEventListener(MouseEvent.CLICK, startMenu1); function startMenu1(event:MouseEvent):void { removeEventListener(Event.COMPLETE, create_thumbnail); removeEventListener( MouseEvent.ROLL_OVER, p_rollover ); removeEventListener( MouseEvent.ROLL_OUT, p_rollout ); removeEventListener( MouseEvent.CLICK, p_click ); removeEventListener(Event.ENTER_FRAME, render); removeChild(container); this.gotoAndStop(160,"Scene 1"); } Может убиение меню надо производить какимто другим образом? ЗЫ подскажите пож-та конкретно на этом примере, т.к. я неделю всего занимаюсь с Flesh |
|
|||||
Регистрация: Nov 2006
Сообщений: 176
|
Я знаю что при добавлении на сцену нового элемента можно указать его имя:
scene.addChild(fig, name); ..а потом можно удалить по этому имени... scene.removeChildByName(name); |
|
|||||
Регистрация: May 2008
Сообщений: 2
|
а можно по подробнее куда эти 2 строки вставить в мой код и что нужно из него убрать. Я еще очень плохо разбираюсь во всем этом...
|
|
|||||
стервочка (я мужик)
|
Maniakus, боюсь что в вашем коде их вставить некуда, потому как откуда эти 2 метода - вряд ли кому известно.
|
Часовой пояс GMT +4, время: 12:16. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|