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

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

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

Регистрация: Feb 2013
Сообщений: 10
Thumbs down Ожидание выполнение слушателя

Доброго дня, и снова нубский вопрос:
Нужно остановить выполнение функции и ожидать нажатие на мувик. Как реализовать? Перепробовал это:
Код AS3:
function Close(e:MouseEvent):void
    {end = true;}
var T:Timer = new Timer(2000,0);
while (end == false)
{
    t.start();
}
и это
Код AS3:
function Close(e:MouseEvent):void
    {end = true;}
while (end == false)
{
	setTimeout(trace,1000,i++);
}
Пока ничего не помогает

Старый 25.02.2013, 18:26
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Разбить функцию, которая должна "останавливаться" на две. И не использовать while в такой ситуации.
__________________
hauts.ru

Старый 25.02.2013, 18:28
Guitariz вне форума Посмотреть профиль Отправить личное сообщение для Guitariz Найти все сообщения от Guitariz
  № 3  
Ответить с цитированием
Guitariz

Регистрация: Feb 2013
Сообщений: 10
По умолчанию окау

Цитата:
Сообщение от Hauts Посмотреть сообщение
Разбить функцию, которая должна "останавливаться" на две. И не использовать while в такой ситуации.
А потом?

Старый 25.02.2013, 18:31
Asfel вне форума Посмотреть профиль Отправить личное сообщение для Asfel Найти все сообщения от Asfel
  № 4  
Ответить с цитированием
Asfel

Регистрация: Feb 2013
Адрес: Киев
Сообщений: 76
Отправить сообщение для Asfel с помощью Skype™
Что то я вопроса совсем не понял. Остановить выполнение функции? return. Ожидать нажатия на кнопку? addEventListener

Старый 25.02.2013, 18:33
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 5  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
Нужно остановить выполнение функции и ожидать нажатие на мувик. Как реализовать?
Прерывание выполнения функции - return.

Ожидать нажатия на "мувик" - addEventListener(MouseEvent.CLICK, ...)

Опишите задачу конкретнее, догадываться что вы там пытаетесь сделать мало кто захочет.

Опередили
__________________
hauts.ru

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
В ас3 нельзя использовать цикл while для ожидания чего-либо. Вся программа зависнет в ожидании выполнения самого цикла, так как все работает в одном потоке, а после истечения времени выполнения просто отвалится.

Старый 25.02.2013, 19:13
Guitariz вне форума Посмотреть профиль Отправить личное сообщение для Guitariz Найти все сообщения от Guitariz
  № 7  
Ответить с цитированием
Guitariz

Регистрация: Feb 2013
Сообщений: 10
Функция должна
-Создать объекты на спрайте (решено)
-остановиться
- здесь пользователь двигает объекты (решено)
-продолжить выполнение после нажатия на один мувик (условно крестик). (мувик есть, но пока не работает)
- после этого она должна получить данные от объектов и передать их дальше (решено)

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Цитата:
-продолжить выполнение после нажатия на один мувик (условно крестик). (мувик есть, но пока не работает)
Вот это сделайте отдельной функцией.
__________________
hauts.ru

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

Регистрация: Jan 2009
Сообщений: 1,651
Код AS3:
 
//функция создает объекты на карте
function create():void { 
  //здесь все дейсвия по созданию, потом:
  btnClose.addEventListener (MouseEvent.CLICK, krestikClickHr); //слушаем нажатие на "крестик"
}
 
//функция выполнится, когда нажмут на крестик
function krestikClickHr (e:Event):void {
  btnClose.removeEventListener (MouseEvent.CLICK, krestikClickHr); //больше "крестик" не слушаем
  //выполняем какие-то действия
}
Не нужны вам никакие бесконечные циклы, не нужны вам какие-то таймеры.
__________________
мой пустой блог

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

Регистрация: Feb 2013
Сообщений: 10
А как с помощью
Код AS3:
function Close(e:MouseEvent):void
				{}
выходить из тела функции, в котором ф-ция Close описана?

Добавлено через 35 секунд
Цитата:
Сообщение от iflamberg Посмотреть сообщение
Код AS3:
 
//функция создает объекты на карте
function create():void { 
  //здесь все дейсвия по созданию, потом:
  btnClose.addEventListener (MouseEvent.CLICK, krestikClickHr); //слушаем нажатие на "крестик"
}
 
//функция выполнится, когда нажмут на крестик
function krestikClickHr (e:Event):void {
  btnClose.removeEventListener (MouseEvent.CLICK, krestikClickHr); //больше "крестик" не слушаем
  //выполняем какие-то действия
}
Не нужны вам никакие бесконечные циклы, не нужны вам какие-то таймеры.
грациос!!! и все равно кривовато, начинает действие одна функция, а завершает другая

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

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

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


 


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


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