|
|
|||||
Регистрация: Apr 2011
Сообщений: 20
|
Всплывающее картинка-окно
Как такое можно сделать?
По нажатию на элемент, должно всплывать окно(картинка) рядом с выбранным элементом. в этом окне есть ещё картинка (показывающая мини-превью), а также два текстовых поля и кнопка (при нажатии на которую окно закроется). Задний слой окна должен быть полупрозрачным. |
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
Цитата:
P.S. какой вопрос - такой ответ |
|
|||||
Регистрация: Apr 2011
Сообщений: 20
|
Издевки излишни, я лишь хотел пример кода или алгоритм.
я пробывал через Sprite, через Image (однако addChild, как описали, наследуется неправильно и в image его быть не должно, ну он и не работает.), через UIComponent пробывал - addChild( ui ) вылетает с ошибкой, мол тип не нужного формата, работает, но ничегошеньки не показывает. this.addChild( image) показывает картинку (т.е. с картинками всё хорошо, они грузятся правильно). |
|
|||||
Покажите весь код.
|
|
|||||
Регистрация: Apr 2011
Сообщений: 20
|
логично
import flash.display.Bitmap; import flash.display.Loader; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Point; import flash.net.URLLoader; import flash.net.URLRequest; import mx.controls.Image; import mx.core.UIComponent; import mx.managers.PopUpManager; import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import mx.controls.Alert; import mx.rpc.http.HTTPService; import AdressItem; private var alert:Alert; private var needInit:Boolean = true; private var items:Array = new Array(); private var xmlLoader:URLLoader = new URLLoader(); public var adresses:XML = new XML(); public var ui:UIComponent = new UIComponent(); public var showSprite:Sprite = new Sprite(); public var backgroundSprite:Image; public var pictureSprite:Image; public var closeButton:Image; public var pm:PopUpManager = new PopUpManager(); private function http_fault(event:FaultEvent):void { var title:String = event.type + " (" + event.fault.faultCode + ")"; var text:String = "Fault load XML"; //event.fault.faultString alert = Alert.show(text, title); } private function loadXML( event:Event ):void { //OK adresses = XML(event.target.data); trace( "start reed XML:" ); trace( adresses ); for ( var i:int = 0; i < adresses.node.length(); i++ ) { /* var item:AdressItem = new AdressItem( adresses.node[i].text[0], adresses.node[i].text[1], adresses.node[i].text[2], adresses.node[i].picture, adresses.node[i].coord.@x, adresses.node[i].coord.@y ); item.visible = true; */ var item:Image = new Image(); item.id = i.toString(); item.x = adresses.node[i].coord.@x; item.y = adresses.node[i].coord.@y; item.source = "point.png"; var pic:String = adresses.node[i].picture; trace( item ); item.addEventListener(MouseEvent.CLICK, function(event:Event):void { //mouse click, need show image trace( event ); /* uic.x = item.x; uic.y = item.y+200; pictureSprite.source = adresses.node[this.id].picture; showSprite.addChild(pictureSprite); addChild( uic ); trace( showSprite.x, showSprite.y, pictureSprite.source, this.id ); */ }); this.addChild( item ); } //Alert.show(XML(event.result)); } public function start_prog(event:Event):void { if ( needInit ) { trace( "Need init" ); var background:Image = new Image(); background.source = "map.jpg"; backgroundSprite = new Image(); backgroundSprite.source = "rect.png"; closeButton = new Image(); closeButton.source = "close.png"; closeButton.addEventListener(MouseEvent.CLICK, function( event:Event ):void { // }); pictureSprite = new Image(); pictureSprite.source = "no_image.png"; ui.addChild( backgroundSprite ); ui.addChild( pictureSprite ); ui.addChild( closeButton ); ui.x = 200; ui.y = 100; this.addChild( background ); this.addChild( ui ); needInit = false; //resultFormat="e4x" fault="http_fault(event);" result="http_result(event)" xmlLoader.addEventListener( Event.COMPLETE, loadXML ); try { xmlLoader.load( new URLRequest( "adress_map.xml" ) ); } catch (error:ArgumentError) { Alert.show("An ArgumentError has occurred."); } catch (error:SecurityError) { Alert.show("A SecurityError has occurred."); } } } не обязательно использовать данный код, просто покажите тривиальный пример включающий в себя основную картинку, картинку с превьюшкой ( к которую я смогу менять через код ), и закрывающую часть, этого будет вполне достаточно. Добавлено через 2 часа 3 минуты сделал самым смешным способом, тупо добавляю все картинки с позиционированием по клику и убираю (removeChild) после нажатия кнопки закрыть. но всё таки, если кто знает другие варианты, буду рад... |
Часовой пояс GMT +4, время: 00:58. |
|
« Предыдущая тема | Следующая тема » |
Теги |
image , popup , window |
|
|