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

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

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

Регистрация: Jan 2008
Сообщений: 7
Question Как заставить работать setInterval?

Никак не могу заставить работать сетИнтервал. Функцию он запускает, а задержку не дает, хоть миллион пиши в нужном поле.
При том, что если я компилю взятый тут пример - все работает.

Подскажите, чем его пнуть штоб пахал как надо?

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

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

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

Регистрация: Apr 2007
Сообщений: 1,369
Так написал :
Код:
setInterval(tr, 1000)
function tr(){trace('tr')}
Работает.

Так написал:
Код:
import mx.utils.Delegate;
setInterval(Delegate.create(this, tr), 1000)
function tr(){trace('tr')}
Работает.

И так написал:
Код:
import mx.utils.Delegate;
setInterval(Delegate.create(this, function(){trace('tr')}), 1000)
Работает.
__________________
john


Последний раз редактировалось Molecula; 08.02.2008 в 21:40.
Старый 08.02.2008, 20:59
Niall86 вне форума Посмотреть профиль Отправить личное сообщение для Niall86 Найти все сообщения от Niall86
  № 4  
Ответить с цитированием
Niall86
 
Аватар для Niall86

Регистрация: Jan 2008
Сообщений: 7
Сделать я пытался следующее. Менять картинку через заданное время. Внизу представлен код, в котором я тестировал возм-сть. всего 2 картинки есть - одна 99_1, другая 99_2. Всякие силиновские библиотеки и прочий дисторт - это все для перспективы (спасибо силину). Так вот, скомпиленый код внизу - не меняет картинку.

Код:
import com.silin.InstanceManager;
import com.silin.DistortBitmap;
import flash.display.BitmapData;
import flash.geom.*;

i=0;
function pictureLoop(){
_root.i++;
_root.i=i%2;
}

function kawaii() {
	var bmp=BitmapData.loadBitmap("99_"+_root.i%2);
	var pic:DistortBitmap=InstanceManager.createMC(this,DistortBitmap,bmp,5,3);
	var distortPointsArr:Array=[];
	distortPointsArr.push(new Point(128,52));
	distortPointsArr.push(new Point(38,48));
	distortPointsArr.push(new Point(38,176));
	distortPointsArr.push(new Point(128,162));
	pic.distort(distortPointsArr);
};

setInterval(pictureLoop(),1000);
kawaii();
Если я меняю нижние 2 строчки на

Код:
onEnterFrame = function(){
setInterval(pictureLoop(),1000);
kawaii();
}
то картинка начинает менятся с головокружительной скоростью, не обращая внимание ни на 1000, ни на 100000 =(
В чем дело? что поменять?

Molecula, твой код работает..

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Ваша ошибка в том, что вместо pictureLoop пишите pictureLoop().
pictureLoop - это ссылка на функцию, которую сетИнтервал должен вызывать. А pictureLoop() - это уже результат это функции, но ваша функцию ничего не возращает и поэтому у вас фактически там написано
Код:
setInterval(undefined,1000);
вот вы и вызваете каждую секунду ничего
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jan 2008
Сообщений: 7
О как! Спасибо ) Буду пытаться пробовать)

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

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

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


 


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


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