Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.04.2011, 12:22
ZZZubec вне форума Посмотреть профиль Отправить личное сообщение для ZZZubec Найти все сообщения от ZZZubec
  № 1  
Ответить с цитированием
ZZZubec

Регистрация: Apr 2011
Сообщений: 20
Tools Всплывающее картинка-окно

Как такое можно сделать?

По нажатию на элемент, должно всплывать окно(картинка) рядом с выбранным элементом.
в этом окне есть ещё картинка (показывающая мини-превью), а также два текстовых поля и кнопка (при нажатии на которую окно закроется).
Задний слой окна должен быть полупрозрачным.
Изображения
 

Старый 12.04.2011, 12:25
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 2  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
Цитата:
Как такое можно сделать?
Например запрограммировать на AS3.

P.S. какой вопрос - такой ответ
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 12.04.2011, 12:40
ZZZubec вне форума Посмотреть профиль Отправить личное сообщение для ZZZubec Найти все сообщения от ZZZubec
  № 3  
Ответить с цитированием
ZZZubec

Регистрация: Apr 2011
Сообщений: 20
Издевки излишни, я лишь хотел пример кода или алгоритм.

я пробывал через Sprite, через Image (однако addChild, как описали, наследуется неправильно и в image его быть не должно, ну он и не работает.), через UIComponent пробывал - addChild( ui ) вылетает с ошибкой, мол тип не нужного формата,

Код AS1/AS2:
sprite.addChild(image);
this.addChilde( sprite );
работает, но ничегошеньки не показывает. this.addChild( image) показывает картинку (т.е. с картинками всё хорошо, они грузятся правильно).

Старый 12.04.2011, 12:42
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 4  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Покажите весь код.

Старый 12.04.2011, 12:46
ZZZubec вне форума Посмотреть профиль Отправить личное сообщение для ZZZubec Найти все сообщения от ZZZubec
  № 5  
Ответить с цитированием
ZZZubec

Регистрация: Apr 2011
Сообщений: 20
логично
Код AS1/AS2:
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."); 
				}
			}
		}
Добавлено через 6 минут
не обязательно использовать данный код, просто покажите тривиальный пример включающий в себя основную картинку, картинку с превьюшкой ( к которую я смогу менять через код ), и закрывающую часть, этого будет вполне достаточно.

Добавлено через 2 часа 3 минуты
сделал самым смешным способом, тупо добавляю все картинки с позиционированием по клику и убираю (removeChild) после нажатия кнопки закрыть.

но всё таки, если кто знает другие варианты, буду рад...

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
image , popup , window
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:54.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.