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

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

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

Регистрация: Jun 2010
Сообщений: 13
Отправить сообщение для neros с помощью ICQ
По умолчанию как реализовать паузу в коде

Всем привет!
подскажите как реализовать паузу в конструкции:
Код AS3:
addChild(blabla);
 
....pause....
 
removeChild(blabla);
ато гугль пока никуда не привел.

Старый 16.06.2010, 13:09
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

Старый 16.06.2010, 13:17
neros вне форума Посмотреть профиль Отправить личное сообщение для neros Найти все сообщения от neros
  № 3  
Ответить с цитированием
neros

Регистрация: Jun 2010
Сообщений: 13
Отправить сообщение для neros с помощью ICQ
погуглил немного и попробовал постоить что то вроди:
Код AS3:
function addOn()
{
   addChild(fr_opl);
}
var timeOut:Number = setTimeout(addOn, 4000);
removeChild(fr_opl);
в ответ получил:
Код AS3:
ArgumentError: Error #2025: Предоставленный DisplayObject 
должен быть дочерним элементом вызывающего объекта.
не подскажите где натупил?


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

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


Последний раз редактировалось iNils; 16.06.2010 в 13:22.
Старый 16.06.2010, 13:21
neros вне форума Посмотреть профиль Отправить личное сообщение для neros Найти все сообщения от neros
  № 5  
Ответить с цитированием
neros

Регистрация: Jun 2010
Сообщений: 13
Отправить сообщение для neros с помощью ICQ
Цитата:
Сообщение от iNils Посмотреть сообщение
Для начала, код нормально отформатируйте.
отформатировано

Старый 16.06.2010, 13:23
Хемуль вне форума Посмотреть профиль Отправить личное сообщение для Хемуль Найти все сообщения от Хемуль
  № 6  
Ответить с цитированием
Хемуль
Квач
 
Аватар для Хемуль

Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
2 neros:
Ну, смотрите, как это будет работать:

- сперва определяется функция:
Код AS3:
function addOn()
{
	addChild(fr_opl);
}
Кстати, лучше дописать функции тип возвращаемого значения void.

- затем задаётся задержка:
Код AS3:
var timeOut:Number = setTimeout(addOn, 4000);
Через 4 секунды она выполнит addOn.

- но тут же сразу вы пытаетесь удалить обьект со сцены:
Код AS3:
removeChild(fr_opl);
То есть, он только через 4 секунды создастся, а вы его убивать хотите сразу, до рождения. Вот компилятор вам и говорит, что это грех - убивать нерождённый обьект. Ну или точнее, он говорит, что этот обьект, который вы хотите удалить, не является дочерним для того, из которого вы хотите его удалить, что не удивительно, поскольку он ещё не присоединился на сцену к родительскому.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
removeChild(fr_opl); //видимо нет такого fr_opl объекта в текущем контейнере
т.е вы сначала удаляете объект, потом добавляете его. Прежде чем удалить что-то нужно это добавить.

Старый 16.06.2010, 13:23
neros вне форума Посмотреть профиль Отправить личное сообщение для neros Найти все сообщения от neros
  № 8  
Ответить с цитированием
neros

Регистрация: Jun 2010
Сообщений: 13
Отправить сообщение для neros с помощью ICQ
Код AS3:
var timer:Timer = new Timer(4000);
 
timer.addEventListener(TimerEvent.TIMER, onTimer);
 
function onTimer(evt:TimerEvent):void
	{
		addChild(fr_opl);
	}
 
timer.start();
removeChild(fr_opl);
попробовал еще таким образом - ошибка таже, не пойму какого дочернего элемента?

Добавлено через 40 секунд
Цитата:
Сообщение от Партизан Посмотреть сообщение
Код AS3:
removeChild(fr_opl); //видимо нет такого fr_opl объекта в текущем контейнере
т.е вы сначала удаляете объект, потом добавляете его. Прежде чем удалить что-то нужно это добавить.
а хочу наоборот)))

Старый 16.06.2010, 13:24
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код AS3:
var timeOut:Number = setTimeout(addOn, 4000);
Вы вызываете через 4 секунды функцию addOn которая добавит спрайт на сцену. А пока, в ожидании этих 4 секунд, чтобы не было скучно, вы решили этот клип со сцены удалить.
Это как у Алисы, сначала съесть пирог, а потом его порезать.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.06.2010, 13:25
neros вне форума Посмотреть профиль Отправить личное сообщение для neros Найти все сообщения от neros
  № 10  
Ответить с цитированием
neros

Регистрация: Jun 2010
Сообщений: 13
Отправить сообщение для neros с помощью ICQ
все получилось задуманное!!!
спасибо за помощь. Поменял местами и все как по маслу

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

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

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


 


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


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