![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
Вот написал я сегодня такой компонент
<?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>
просто делайте даблклик по иконке и окну для перехода между ними... но после второго разворачивания окна все слова в компоненте уменьшаются до первой буквы и "..." после нее... вобщем попробуйте скомпилировать у себя и сами увидите ... теперь собственно вопрос... в чем причина ? |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
Я прошу прощения ... помоему это нужно было напиать в форум по АС3
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Исходник нужно выкладывать, вместе с картинками.
|
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
ок ... сейчас выложу
|
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
Вот...
|
|
|||||
|
Et cetera
Регистрация: 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] |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
Вот выложил полностью ... просто скомпилируйте tab_test.mxml
|
|
|||||
|
Регистрация: Apr 2006
Сообщений: 184
|
отпишите если не получится запустить
|
|
|||||
|
Et cetera
Регистрация: 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>
Разберись, какой и когда у тебя должен работать зум. У тебя конфликт зумов. |
|
|||||
|
Регистрация: 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. |
|
|
« Предыдущая тема | Следующая тема » |
|
|