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

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

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

Регистрация: Apr 2006
Сообщений: 184
Question Помогите дописать компонент...

Вот написал я сегодня такой компонент

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" initialize="initApp()">
		<mx:states>
				<mx:State name="open">
						<mx:RemoveChild target="{icn}"/>
						<mx:AddChild position="lastChild">
								<mx:TitleWindow width="420" height="250" layout="absolute" id="win" title="Feedback" showCloseButton="true">
										<mx:Label text="Кому:" x="10" y="10"/>
										<mx:Label text="Тема:" x="10" y="36"/>
										<mx:TextInput y="8" text="Кто-то там" enabled="false" textAlign="left" left="55" right="10"/>
										<mx:TextInput left="55" right="10" height="22" y="34" textAlign="left" id="subject"/>
										<mx:TextArea bottom="40" left="55" right="10" top="64" textAlign="left" id="content"/>
										<mx:LinkButton label="Отправить" click="send_status()" right="10" bottom="10" themeColor="#c0c0c0"/>
								</mx:TitleWindow>
						</mx:AddChild>
				</mx:State>
		</mx:states>
		<mx:Script>
		<![CDATA[
		import flash.events.*;
		import mx.controls.Alert;
        
       	private function alrt(txt:String):void{
        Alert.show(txt);
        	}


	public function initApp():void {
	this.doubleClickEnabled = true;
    this.icn.addEventListener(MouseEvent.MOUSE_DOWN, start_drag);
    this.icn.addEventListener(MouseEvent.MOUSE_UP, stop_drag);
    this.icn.addEventListener(MouseEvent.DOUBLE_CLICK, double);

}
		
		public function start_drag(e:Event):void {
		this.icn.startDrag();	
		}
		public function stop_drag(e:Event):void {
		this.icn.stopDrag();	
		}
		public function win_start_drag(e:Event):void {
		this.win.startDrag();	
		}
		public function win_stop_drag(e:Event):void {
		this.win.stopDrag();	
		}
		
		

		public function double(e:Event):void {
		zoomIn.play([icn], false);
		}
		
		public function double_win(e:Event):void {
		zoomIn_win.play([win], false);
		}
		
		public function perehod():void{
			currentState = "open";
			this.win.x = this.mouseX-win.width/2;
			this.win.y = this.mouseY-win.height/2;
			zoomOut.play([win], false);
  		    this.win.addEventListener(MouseEvent.MOUSE_DOWN, win_start_drag);
		    this.win.addEventListener(MouseEvent.MOUSE_UP, win_stop_drag);
		    this.win.addEventListener(MouseEvent.DOUBLE_CLICK, double_win);
		}
		public function perehod2():void{
			currentState = "";
			this.icn.x = this.mouseX-icn.width/2;
			this.icn.y = this.mouseY-icn.height/2;
			zoomOut.play([icn], false);
		}
		
        private function send_status():void                 {
        	if(subject.text == ""){
        		alrt('Введите тему сообщения');
        	}else{
        		if(content.text == ""){
        			alrt("Сообщение не должно быть пустым");
        		}else{
        				if(subject.text != "" && content.text != ""){
        					send_feedback.send();
        					subject.text = "";
        					content.text = "";
        				}
        			}
        		
        	}
        
        }
		]]>
		</mx:Script>
<mx:HTTPService result="alrt('Письмо отправлено');" id="send_feedback" url="http://www.fla.aa/adm_actions/send_feedback.php" useProxy="false" method="POST">
     <mx:request xmlns="">
		<subject>{subject.text}</subject>
		<content>{content.text}</content>
      </mx:request>
</mx:HTTPService>
			
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn" effectEnd="perehod()" duration="200" />	
	<mx:Zoom zoomHeightTo="1" zoomWidthTo="1" zoomHeightFrom=".0" zoomWidthFrom=".0" id="zoomOut" duration="300" />	
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn_win" effectEnd="perehod2()" duration="200" />	

	<mx:Image x="151" y="117" source="images/icn_feedback.png" id="icn"/>

</mx:Canvas>

просто делайте даблклик по иконке и окну для перехода между ними... но после второго разворачивания окна все слова в компоненте уменьшаются до первой буквы и "..." после нее... вобщем попробуйте скомпилировать у себя и сами увидите ... теперь собственно вопрос... в чем причина ?

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

Регистрация: Apr 2006
Сообщений: 184
Я прошу прощения ... помоему это нужно было напиать в форум по АС3

Старый 24.10.2006, 20:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Исходник нужно выкладывать, вместе с картинками.

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

Регистрация: Apr 2006
Сообщений: 184
ок ... сейчас выложу

Старый 24.10.2006, 20:28
eXplozive вне форума Посмотреть профиль Отправить личное сообщение для eXplozive Найти все сообщения от eXplozive
  № 5  
Ответить с цитированием
eXplozive
 
Аватар для eXplozive

Регистрация: Apr 2006
Сообщений: 184
Вот...
Вложения
Тип файла: rar components.rar (4.6 Кб, 106 просмотров)

Старый 24.10.2006, 20:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Для начала неплохо было бы устранить ошибки в нём.
Код:
TypeError: Error #1010: A term is undefined and has no properties.
	at mx.styles::StyleManager$/http://www.adobe.com/2006/flex/mx/internal::initProtoChainRoots()[C:\dev\GMC\sdk\frameworks\mx\styles\StyleManager.as:231]
	at New_feedback/http://www.adobe.com/2006/flex/mx/internal::_New_feedback_StylesInit()[C:\FlexProjects\New_feedback\New_feedback.mxml:0]
	at New_feedback$iinit()[C:\FlexProjects\New_feedback\New_feedback.mxml:0]

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

Регистрация: Apr 2006
Сообщений: 184
Вот выложил полностью ... просто скомпилируйте tab_test.mxml
Вложения
Тип файла: rar component.rar (4.9 Кб, 93 просмотров)

Старый 25.10.2006, 16:55
eXplozive вне форума Посмотреть профиль Отправить личное сообщение для eXplozive Найти все сообщения от eXplozive
  № 8  
Ответить с цитированием
eXplozive
 
Аватар для eXplozive

Регистрация: Apr 2006
Сообщений: 184
отпишите если не получится запустить

Старый 25.10.2006, 17:10
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" initialize="initApp()">
		<mx:states>
				<mx:State name="open">
						<mx:RemoveChild target="{icn}"/>
						<mx:AddChild position="lastChild">
								<mx:TitleWindow width="420" height="250" layout="absolute" id="win" title="Feedback" showCloseButton="true">
										<mx:Label text="Кому:" x="10" y="10" width="100" id="toLabel"/>
										<mx:Label text="Тема:" x="10" y="36" id="topicLabel"/>
										<mx:TextInput y="8" text="Кто-то там" enabled="false" textAlign="left" left="55" right="10"/>
										<mx:TextInput left="55" right="10" height="22" y="34" textAlign="left" id="subject"/>
										<mx:TextArea bottom="40" left="55" right="10" top="64" textAlign="left" id="content"/>
										<mx:LinkButton label="Отправить" click="send_status()" right="10" bottom="10" themeColor="#c0c0c0" id="sendButton"/>
								</mx:TitleWindow>
						</mx:AddChild>
				</mx:State>
		</mx:states>
		<mx:Script>
		<![CDATA[
		import flash.events.*;
		import mx.controls.Alert;
        
       	private function alrt(txt:String):void{
        Alert.show(txt);
        	}


	public function initApp():void {
	this.doubleClickEnabled = true;
    this.icn.addEventListener(MouseEvent.MOUSE_DOWN, start_drag);
    this.icn.addEventListener(MouseEvent.MOUSE_UP, stop_drag);
    this.icn.addEventListener(MouseEvent.DOUBLE_CLICK, double);

}
		
		public function start_drag(e:Event):void {
		this.icn.startDrag();	
		}
		public function stop_drag(e:Event):void {
		this.icn.stopDrag();	
		}
		public function win_start_drag(e:Event):void {
		this.win.startDrag();	
		}
		public function win_stop_drag(e:Event):void {
		this.win.stopDrag();	
		}
		
		

		public function double(e:Event):void {
		zoomIn.play([icn], false);
		}
		
		public function double_win(e:Event):void {
		zoomIn_win.play([win], false);
		}
		
		public function perehod():void{
			currentState = "open";
			zoomOut.play([win], false);
 			this.win.x = this.mouseX-win.width/2;
			this.win.y = this.mouseY-win.height/2;
 		    this.win.addEventListener(MouseEvent.MOUSE_DOWN, win_start_drag);
		    this.win.addEventListener(MouseEvent.MOUSE_UP, win_stop_drag);
		    this.win.addEventListener(MouseEvent.DOUBLE_CLICK, double_win);
		}
		public function perehod2():void{
			currentState = "";
			this.icn.x = this.mouseX-icn.width/2;
			this.icn.y = this.mouseY-icn.height/2;
			zoomOut.play([icn], false);
		}
		
		private function zoomEnd():void {
			this.win.scaleX = 1;
			this.win.scaleY = 1;			
		}
		
		private function zoomUpdate():void {
			this.win.x = this.mouseX-win.width/2;
			this.win.y = this.mouseY-win.height/2;			
		}
		
        private function send_status():void                 {
        	if(subject.text == ""){
        		alrt('Введите тему сообщения');
        	}else{
        		if(content.text == ""){
        			alrt("Сообщение не должно быть пустым");
        		}else{
        				if(subject.text != "" && content.text != ""){
        					send_feedback.send();
        					subject.text = "";
        					content.text = "";
        				}
        			}
        		
        	}
        
        }
		]]>
		</mx:Script>
<mx:HTTPService result="alrt('Письмо отправлено');" id="send_feedback" url="http://www.fla.aa/adm_actions/send_feedback.php" useProxy="false" method="POST">
     <mx:request xmlns="">
		<subject>{subject.text}</subject>
		<content>{content.text}</content>
      </mx:request>
</mx:HTTPService>
			
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn" effectEnd="perehod()" duration="200" />	
	<mx:Zoom zoomHeightTo="1" zoomWidthTo="1" zoomHeightFrom=".0" zoomWidthFrom=".0" id="zoomOut" tweenUpdate="zoomUpdate()" effectEnd="zoomEnd()" duration="300" />	
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn_win" effectEnd="perehod2()" duration="200" />	

	<mx:Image x="151" y="117" source="images/icn_feedback.png" id="icn"/>

</mx:Canvas>
Это решение, но кривое.
Разберись, какой и когда у тебя должен работать зум. У тебя конфликт зумов.

Старый 25.10.2006, 19:56
eXplozive вне форума Посмотреть профиль Отправить личное сообщение для eXplozive Найти все сообщения от eXplozive
  № 10  
Ответить с цитированием
eXplozive
 
Аватар для eXplozive

Регистрация: Apr 2006
Сообщений: 184
__etc спасибо ... вот я только что нашел решение ...
если интересно посмотри:

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" initialize="initApp()">
		<mx:states>
				<mx:State name="open">
						<mx:RemoveChild target="{icn}"/>
						<mx:AddChild position="lastChild">
								<mx:TitleWindow width="420" height="250" layout="absolute" id="win" title="Feedback" showCloseButton="true">
										<mx:Label text="Кому:" x="10" y="10"/>
										<mx:Label text="Тема:" x="10" y="36"/>
										<mx:TextInput y="8" text="Кто-то там" enabled="false" textAlign="left" left="55" right="10"/>
										<mx:TextInput left="55" right="10" height="22" y="34" textAlign="left" id="subject"/>
										<mx:TextArea bottom="40" left="55" right="10" top="64" textAlign="left" id="content"/>
										<mx:LinkButton label="Отправить" click="send_status()" right="10" bottom="10" themeColor="#c0c0c0"/>
								</mx:TitleWindow>
						</mx:AddChild>
				</mx:State>
		</mx:states>
		<mx:Script>
		<![CDATA[
		import flash.events.*;
		import mx.controls.Alert;
        
       	private function alrt(txt:String):void{
        Alert.show(txt);
        	}


	public function initApp():void {
	this.doubleClickEnabled = true;
    this.icn.addEventListener(MouseEvent.MOUSE_DOWN, start_drag);
    this.icn.addEventListener(MouseEvent.MOUSE_UP, stop_drag);
    this.icn.addEventListener(MouseEvent.DOUBLE_CLICK, double);

}
		
		public function start_drag(e:Event):void {
		this.icn.startDrag();	
		}
		public function stop_drag(e:Event):void {
		this.icn.stopDrag();	
		}
		public function win_start_drag(e:Event):void {
		this.win.startDrag();	
		}
		public function win_stop_drag(e:Event):void {
		this.win.stopDrag();	
		}
		
		

		public function double(e:Event):void {
		zoomIn.play([icn], false);
		}
		
		public function double_win(e:Event):void {
		zoomIn_win.play([win], false);
		}
		
		public function perehod():void{
			currentState = "open";
			this.win.x = this.mouseX-win.width/2;
			this.win.y = this.mouseY-win.height/2;
			zoomOut.play([win], false);
  		    this.win.addEventListener(MouseEvent.MOUSE_DOWN, win_start_drag);
		    this.win.addEventListener(MouseEvent.MOUSE_UP, win_stop_drag);
		    this.win.addEventListener(MouseEvent.DOUBLE_CLICK, double_win);
		}
		public function perehod2():void{
			currentState = "";
			this.icn.x = this.mouseX-icn.width/2;
			this.icn.y = this.mouseY-icn.height/2;
			zoomOut.play([icn], false);
		}
		
        private function send_status():void                 {
        	if(subject.text == ""){
        		alrt('Введите тему сообщения');
        	}else{
        		if(content.text == ""){
        			alrt("Сообщение не должно быть пустым");
        		}else{
        				if(subject.text != "" && content.text != ""){
        					send_feedback.send();
        					subject.text = "";
        					content.text = "";
        				}
        			}
        		
        	}
        
        }
		]]>
		</mx:Script>
<mx:HTTPService result="alrt('Письмо отправлено');" id="send_feedback" url="http://www.fla.aa/adm_actions/send_feedback.php" useProxy="false" method="POST">
     <mx:request xmlns="">
		<subject>{subject.text}</subject>
		<content>{content.text}</content>
      </mx:request>
</mx:HTTPService>
			
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn" effectEnd="perehod()" duration="200" />	
	<mx:Zoom zoomHeightTo="1" zoomWidthTo="1" zoomHeightFrom=".0" zoomWidthFrom=".0" id="zoomOut" duration="300" />	
	<mx:Zoom zoomHeightTo=".0" zoomWidthTo=".0" zoomHeightFrom="1" zoomWidthFrom="1" id="zoomIn_win" effectEnd="perehod2()" duration="200" />	

	<mx:Image x="151" y="117" source="images/icn_feedback.png" id="icn"/>

</mx:Canvas>

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

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

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


 


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


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