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

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

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

Регистрация: Jun 2005
Сообщений: 104
По умолчанию задержка на 10 кадров внутри метода класса

Мне нужно реализовать задержку на 10 кадров внутри цикла, используемого методом класса, реагирующим на нажатие клавиши. подскажите как.

Старый 27.09.2006, 06:36
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если класс наследует свойства MovieClip'a, то у него тоже будет метод onEnterFrame...
Примерный код:
Код:
class MyClass extends MovieClip {
	function MyClass(mc:MovieClip) {
		var counter:Number = 0;
		mc.onEnterFrame = function() {
			if (counter<10) {
				trace("paused, frame# "+counter);
			} else {
				trace("playing "+counter);
				delete this.onEnterFrame;
			}
			counter++;
		};
	}
}
// Инициализация
var _l1:MovieClip = _root.createEmptyMovieClip("target_mc", 0);
with(_l1){
	beginFill(0, 100);
	moveTo(0, 100);
	lineTo(100, 100);
	lineTo(100, 200);
	lineTo(0, 200);
	lineTo(0, 100);
	endFill();
}
var my_pause:MyClass = new MyClass(_l1);
Оно?
_____
Брррр... чет не совсем понятно... кто на что реагировать должен, какие-то нескладушки с падежами вышли =) Перепиши, плс, вопрос поподробнее, если честно, я запутался %)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 27.09.2006 в 06:42.
Старый 27.09.2006, 13:32
Фломастер вне форума Посмотреть профиль Отправить личное сообщение для Фломастер Найти все сообщения от Фломастер
  № 3  
Ответить с цитированием
Фломастер

Регистрация: Jun 2005
Сообщений: 104
мой класс наследует свойства мувиклипа. внутри метода onRelease, моего класса, я обхожу XML-дерево. обхожу в цикле каждый узел. вот внутри этого цикла мне надо сделать задержку в десять кадров, чтобы обработав один узел я не переходил к следующему сразу.


или, иначе говоря, мне надо растянуть цикл обхода дерева по тайм лайну. может обход засунуть в onEnterFrame? только как....


или если взять Ваш пример, мне нужно вствить задержку после каждого lineTo


Последний раз редактировалось Фломастер; 27.09.2006 в 13:34.
Старый 27.09.2006, 14:55
Ion вне форума Посмотреть профиль Найти все сообщения от Ion
  № 4  
Ответить с цитированием
Ion
Banned
[5 01.09.2006]

Регистрация: Jun 2005
Сообщений: 1,805
А нужно обязательно по таймлайну или можно просто задержку?

Старый 27.09.2006, 15:35
Фломастер вне форума Посмотреть профиль Отправить личное сообщение для Фломастер Найти все сообщения от Фломастер
  № 5  
Ответить с цитированием
Фломастер

Регистрация: Jun 2005
Сообщений: 104
да, можно просто задержку.
я при обработке одного узла дерева запускаю соответсвующий ему мувик, надо чтобы этот мувик успел проиграться, а только затем цикл перешел на следующий шаг

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

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

Старый 27.09.2006, 16:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от Фломастер
да, можно просто задержку.
я при обработке одного узла дерева запускаю соответсвующий ему мувик, надо чтобы этот мувик успел проиграться, а только затем цикл перешел на следующий шаг
Как раз просто задержку не стоит - на разных компах ролик будет проигрываться с разной скоростью.
Я бы наверное запихал нужную функцию в onEnterFrame, и проверял _currentframe мувика который должен играть в промежутках.
ну или вот еще такой вариант (инициализация такая же)
Код:
class MyClass extends MovieClip {
	function MyClass(mc:MovieClip) {
		var counter:Number = 0;
		var c_node:Number = 0;
		var _xml:XML = new XML("<r_node><c_node t='0'/><c_node t='1'/><c_node t='2'/><c_node t='3'/><c_node t='4'/></r_node>");
		mc.onEnterFrame = function() {
			if (counter<10) {
				trace("paused, frame# "+counter+" watched node "+_xml.childNodes[0].childNodes[c_node].attributes.t.toString());
			} else {
				trace("playing "+counter);
				counter = 0;
				c_node++;
				if (c_node>=_xml.childNodes[0].childNodes.length) {
					delete this.onEnterFrame;
				}
			}
			counter++;
		};
	}
}
__________________
Hell is the possibility of sanity

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

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

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


 


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


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