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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.04.2007, 05:55
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 1  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
По умолчанию сообщение о медленном скрипте

использую MovieClipLoader чтобы загрузить мувик.
специально выложил работу в нет и подгружаемый ролик сделал достаточно большим.
когда подгружаемый ролик грузится (занимает минут 5) вылазит окно "Скрипт вызывает медленную работу скрипта... Прервать/Продолжить". успевает вылезти несколько раз.
Можно это окно как-то подавить?
__________________
~
Never trouble trouble till trouble troubles you!

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

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

Старый 17.04.2007, 06:02
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 3  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
эмм... это класс.... и будет простыня... ну ладно...
Код:
class game.Cell extends MovieClip{
	var isPlayer; //флаг, является ли клетка клеткой игрока
	var isChar; //определяет является ли клетка клеткой с чаром
	var isEnemy; //атакуемая клетка
	var preloader,model,cursor:MovieClip;
	var side,row,pos:Number;
	var start_idle1,end_idle1,start_idle2,end_idle2,start_attack1,end_attack1,start_attack2,end_attack2;
	function Cell (){
                      //здесь была инициализация переменных
	}
           //по вызову - загружаем модель
	function loadModel (modelname){
		this.model._alpha=0;  //делаем модель на время загрузки невидимой
		var mcl=new MovieClipLoader ();
		var listener=new Object ();
		listener.isTransformed=0; //флаг определяет затемнили ли мы модельку или нет
		listener.cell=this;
		listener.model=this.model;
		listener.preloader=this.preloader;
		listener.onLoadProgress = function (mov,loaded,total){
			if (!this.isTransformed && mov._framesloaded>this.cell.start_idle2 && 
				 ((this.cell.side==0 && mov._framesloaded>=this.cell.start_idle1) || 
				  (this.cell.side==1 && mov._framesloaded>=this.cell.start_idle2))){
				this.isTransformed=1; 
				mov.gotoAndStop (this.cell.side==0?this.cell.start_idle1:this.cell.start_idle2);
				var c=new flash.geom.ColorTransform(); c.redMultiplier=0; c.greenMultiplier=0;c.blueMultiplier=0;
				mov.transform.colorTransform=c; //делаем модельку видимой,но черного цвета и с нужной ориентацией
				this.preloader._visible=true; //делаем и прелоадер видимым
			}
			this.preloader.gotoAndStop (Math.round(loaded/(total/100)));
		}
		listener.onLoadComplete=function (mov){
			var c=new flash.geom.ColorTransform();
			mov.transform.colorTransform=c; //делаем модельку видимой обычного цвета
			this.preloader._visible=false; //прячем прелоадер
		}
		mcl.addListener(listener);
		mcl.loadClip ("data/models/"+modelname+".swf",this.model);
	}
}
несколько коментариев:
функция loadModel и выполняет подгрузку мувика, внутри себя создавая приемник для событий.
код работает, выложен на http://www.crimea.com/~chas/celltest.swf (внимание! подгружает 8 метров, осторожно!), только это дурацкое окошко о медленном скрипте вылазит. что делает:
начинает подгрузку мувика. когда подгрузка доходит до определенного кадра начинает отображать прелоадер и подгружаемый мувик в этом кадре, затемнив предварительно мувик в черный цвет. когда загрузка закончена - убирает затемнение мувика и прячет прелоадер.
__________________
~
Never trouble trouble till trouble troubles you!


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

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

Старый 17.04.2007, 07:07
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 5  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
видимо у вас машинка мощнее, чем у меня. или мне надо позакрывать лишних окон.
если я убераю вот эту проверку:
Код:
if (!this.isTransformed && mov._framesloaded>this.cell.start_idle2 && 
				 ((this.cell.side==0 && ...
то сообщение не вылазит. попробовал упростить проверку, сделав ее двухуровневой. появляется реже иногда вообще не появляется. думаю сделать два обработчика - первый будет с этой самой проверкой и после ее выполнения будет назначать второй обработчик вместо себя. изврааат %(
__________________
~
Never trouble trouble till trouble troubles you!


Последний раз редактировалось iNils; 17.04.2007 в 07:10.
Старый 17.04.2007, 09:39
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 6  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
А зачем вам проверять _framesloaded? есть событие onLoadInit, и проверка вообще не нужна.

Старый 17.04.2007, 09:42
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 7  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
а как я определю, что все необходимые кадры для проигрывания первой анимации загружены и я ее могу показать?
__________________
~
Never trouble trouble till trouble troubles you!

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

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

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


 


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


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