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

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

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
По умолчанию Рабочее окно в стиле Виндовс с кнопками Да, Нет, Отмена

Помогите создать Рабочее окно с тремя кнопками ДА, НЕТ, ОТМЕНА
Мой код: НЕ РАБОТАЕТ. Дело в том, что Flash завершает работу функции сразу же. Т.Е. выдает undefined, вместо того чтобы при нажатии выдавать yes, no || Cencel.
//функция выводa на экран сообщения об ошибке----------------------------------------------------------
Код:
function allert2 (text_vivoda:String):String {
	_root.attachMovie ("window_allert2", "window_allert2", 15000 - 1, {_x:500, _y:370});
	//добавление клипа ALLERT2
	window_allert2.allert2_text_var = text_vivoda;
	//текст в окне
	var a:String;
	window_allert2.window_allert_yes.onPress = function ():Void  {
		a = "yes";
		window_allert2.removeMovieClip ();
	};
	window_allert2.window_allert_no.onPress = function () {
		a = "no";
		window_allert2.removeMovieClip ();
	};
	window_allert2.window_allert_cancel.onPress = function () {
		a = "cancel";
		window_allert2.removeMovieClip ();
	};
	while (a != undefined) {
		return a;
	}
}


Последний раз редактировалось iNils; 25.10.2006 в 08:35.
Старый 25.10.2006, 08:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
"a" должна выдаваться при событии onPress, а не во время выполнения функции allert2
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2002
Сообщений: 30,787
Остановить выполнение циклом while нельзя. Т.е. нельзя сделать if (alert) …
Нужно вызывать какую-либо функцию после нажатия одной из кнопок…

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
2 iNils
Во-первых у меня в самой функции allert2 должно быть предложение return, а то не работает. А во-вторых onPress ничего не передает предложением return

2 __etc "Остановить выполнение циклом while нельзя."
Вот я и не могу понять почему нельзя.

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
2 __etc
т.е. почему function не зацикливается до тех пор пока при onPress не произойдет изменение а, а СРАЗУ ЖЕ выдает результат undefined?

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

Регистрация: Sep 2002
Сообщений: 30,787
Потому что while — это цикл, причём бесконечный по факту и Flash Player будет его выполнять до тех пор, пока не выдаст ошибку (при этом никаких действий пользователь сделать не может). За время выполнения цикла никаких других действий выполнить нельзя.
Более того, ты объявил переменную, она равна undefined. Выражение a != undefined ложно, поэтому цикл не выполняется и не происходит return.

Нужно делать иначе — показывать окно, подписываться на события окна, блокировать контент и ждать реакции пользователя. Когда он нажмёт на кнопку, будет послано событие (определённого типа, в зависимости от выбранной кнопки) и все слушатели этих событий отреагируют соответствующим образом (скрытие окна и выполнение каких-либо дальнейших действий).


Последний раз редактировалось etc; 25.10.2006 в 13:31.
Старый 25.10.2006, 13:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Цитата:
Сообщение от GFreemen
А во-вторых onPress ничего не передает предложением return
А я ничего про return не говорил.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
А как насчет использовать компонент Alert ? Типа
Alert.show("ваше сообщение", "заголовок окна", Alert.OK | Alert.CANCEL, и т.д.)
__________________
Платон мне друг, но истина в вине.

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

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
2 __etc
Большое спасибо за разъяснения. Буду думать.

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

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

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


 


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


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