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

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

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

Регистрация: Apr 2006
Сообщений: 184
По умолчанию [AS3]Не изменяется переменная

Добрый день вот есть такой код

Код:
    <mx:Script>
        <![CDATA[
            import components.smi;
            import mx.managers.PopUpManager;
            import mx.core.IFlexDisplayObject;
	    private var login_open:String = "close";
            private function showLogin():void {
            	if(login_open != "open"){
		var login_open:String = "open";

                var helpWindow:IFlexDisplayObject =
                    PopUpManager.createPopUp(this, components.smi, false);
             }
            }
        ]]>
    </mx:Script>
Насколько я понимаю то переменная login_open после вызова функции showLogin() должна перейти в состояние "open" и при повторной попытке вызова этой функции код:
Код:
var helpWindow:IFlexDisplayObject =
                    PopUpManager.createPopUp(this, components.smi, false);
выполнятся не должен.

Но у меня такой способ не работает... Обясните пожалуйста в чем проблема...

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

Регистрация: Sep 2002
Сообщений: 30,787
Код:
var login_open:String = "open";
Ты замещаешь внутри метода showLogin приватную переменную login_open своей локальной login_open.
Зачем?

Код:
<mx:Script>
        <![CDATA[
            import components.smi;
            import mx.managers.PopUpManager;
            import mx.core.IFlexDisplayObject;

	    private var login_open:String = "close";

            private function showLogin():void {
            	if(this.login_open != "open"){
		   this.login_open = "open";
                   var helpWindow:IFlexDisplayObject = PopUpManager.createPopUp(this, components.smi, false);
                }
            }
        ]]>
    </mx:Script>

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

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

но у меня компонент который я вызываю (components.smi) - базируется на компоненте TitleWindow... в нем есть код который его закрывает:

Код:
<mx:Script>
        import mx.managers.PopUpManager;
        private function removeMe():void {
        PopUpManager.removePopUp(this);
        }
    </mx:Script>
еще нужно чтобы при закрытии, переменной "login_open" назначалось значение "close". Как мне передать в главный код эту переменную ?

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

Регистрация: Sep 2002
Сообщений: 30,787
Послать событие, например…

Старый 10.10.2006, 14:51
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
посылать даже не надо, просто подписатся на событие закрытия\удаления из дисплей листа, компонента.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

Регистрация: Apr 2006
Сообщений: 184
Дело в том что я пока еще не совсем разобрался с этим , можно хоть небольшой примерчик, или хотябы где поискать в хелпе

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

Регистрация: Sep 2002
Сообщений: 30,787
Ну я имел ввиду подписаться на close =)
Код:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()">
<mx:Script>
<![CDATA[
	import mx.containers.TitleWindow;
	import mx.managers.PopUpManager;
	import mx.core.IFlexDisplayObject;
	import view.TWindow;
	
	private var popup:IFlexDisplayObject;	
	
	private function initApp():void {
		this.popup = PopUpManager.createPopUp(this,TWindow);
		this.popup.addEventListener("close",this.onWindowClose);
	}
	
	private function onWindowClose(e:Event):void {
		PopUpManager.removePopUp(this.popup);
		trace('Window Closed');
	}
	
]]>
</mx:Script>
</mx:Application>
и (просто так, для понимания)
Код:
package view
{
	import mx.containers.TitleWindow;

	public class TWindow extends TitleWindow
	{
		public function TWindow() {
			this.width = 100;
			this.height = 100;
			this.showCloseButton = true;
		}
	}
}

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

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

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


 


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


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