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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.01.2009, 13:36
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 81  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Да млииииин, ну как же еще объяснить... ну абсолютно все равно что бы не возвращал dispose() к условию в if() это вообще отношения не имеет! При чем тут универсальность кода!? Я уже объяснил зачем там этот if.
Вот нашел какой-то промежуточный вариант кода, надеюсь, это как-то поможет понять зачем это было нужно...
Код AS1/AS2:
public function createAlert(alertType:String, o:Object, removePrevious:Boolean):SForm
	{
		if (!removePrevious) _abase.removeMovieClip();
		else _backSteps++;
		_abg.removeMovieClip();
		/*if (_screenCapture) _screenCapture.dispose();
		_screenCapture = new BitmapData(Stage.width, Stage.height);
		_screenCapture.draw(_root);
		_screenCapture.applyFilter(_screenCapture, new Rectangle(0, 0, Stage.width, Stage.height),
									new Point(0, 0), new BlurFilter(4, 4, 1));
		_abg = GFX.grid(_root, Stage.width, Stage.height, _screenCapture);*/
		_abg = GFX.rct0000(_root, Stage.width, Stage.height, GFX.WHITE, 30);
		_abg.onRelease = function():Void {};
		_abg.useHandCursor = false;
		_abase = _root.createEmptyMovieClip("abase" + _root.getNextHighestDepth(), _root.getNextHighestDepth());
		var ssubj:String = alertType;
		var isErr:Boolean;
		switch(alertType)
		{
			case "404":
			case SForm.TEXT_ALERT:
				isErr = false;
				break;
			default:
				isErr = true;
		}
		var rect:Rectangle = new Rectangle(0, 0, 220, 220);
		switch (String(o))
		{
			case FilterObject.BLUR:
				rect.height = 140;
				break;
			case FilterObject.GLOW:
				rect.height = 195;
				rect.width = 226;
				break;
			case FilterObject.DROP_SHADOW:
				rect.height = 180;
				rect.width = 340;
				break;
			case FilterObject.BEVEL:
				rect.height = 210;
				rect.width = 345;
				break;
			case EffectObject.IRIS:
				rect.height = 225;
				rect.width = 225;
				break;
			case EffectObject.FADE:
			case EffectObject.FLY:
			case EffectObject.ZOOM:
				rect.height = 195;
				rect.width = 175;
				break;
		}
		switch (alertType)
		{
			case SForm.CONFIRM:
				rect.height = 120;
				rect.width = 260;
				break;
		}
		var fprops:FillProps = new FillProps(FillProps.FILL_FLAT, [100], [], [GFX.WHITE]);
		var lprops:LineProps;
		var style:String;
		if (!isErr)
		{
			lprops = new LineProps(1, GFX.DARK_RED, 100, true);
			style = "err";
		} else {
			lprops = new LineProps(1);
			style = "alert";
		}
		var vprops:MCProps = new MCProps(fprops, lprops, 10, false);
		var _box:SBox = new SBox(_abase, rect, vprops);
		_box.isAlert = true;
		_box.setStyle(style);
		switch (alertType)
		{
			case SForm.PALETTE:
				_box.setForm(SForm.PALETTE);
				_box.lable = "Choose Color";
				break;
			case SForm.FONT_SELECTOR:
				_box.setForm(SForm.FONT_SELECTOR);
				_box.lable = "Choose Typeface";
				break;
			case SForm.TRIM:
				_box.setForm(SForm.TRIM, _timeline.step, _timeline.aSlide);
				_box.lable = "Trim track";
				break;
			case SForm.TEXT_ALERT:
				_box.setForm(SForm.TEXT_ALERT, Number(o));
				_box.lable = "Warning";
				break;
			case "404":
				_box.setForm("_404", 0, arguments[1]);
				_box.lable = "Resource not found";
				break;
			case SForm.EFFECT:
				_box.setForm(SForm.EFFECT, 0, o);
				_box.lable = o + " Properties";
				break;
			case SForm.FILTERS:
				_box.setForm(SForm.FILTERS, 0, o);
				_box.lable = o + " Filter Properties";
				break;
			case SForm.CONFIRM:
				_box.setForm(SForm.CONFIRM, 0, o);
				_box.lable = "Confirm";
				break;
			default:
				throw new ERR("no such alert: "+alertType, this);
			break;
		}
		_box.name = alertType + _forms.length;
		_inactiveForm = _broadcastingForm;
		_broadcastingForm = _box.getForm();
		if (!removePrevious)
		{
			_box.x = Math.round(Stage.width/2 - _box.w/2);
			_box.y = Math.round(Stage.height/2 - _box.h/2);
		} else {
			_box.x = Math.round(Stage.width/2);
			_box.y = Math.round(Stage.height/2);
		}
		_forms.push(_box);
		_box.getBackGround().filters = [new DropShadowFilter(5, 45, 0, .4, 6, 6, 1, 1)];
		keepOnTop();
		dispatchEvent(new FormManagerEvent(FormManagerEvent.FORM_OPEN, _box.getForm()));
		return _box.getForm();
	}
 
	public function deleteAlert(frm:SForm):Void
	{
		var del:SBox;
		var i:Number;
		var l:Number = _forms.length;
		for (i = 0; i < l; i++)
		{
			if (_forms[i].getForm() == frm)
			{
				del = SBox(_forms.splice(i, 1)[0]);
			}
		}
		if (!del) del = SBox(_forms.pop());
		dispatchEvent(new FormManagerEvent(FormManagerEvent.FORM_CLOSE, del.getForm()));
		del.deleteContent();
		delete del;
		if (_backSteps > 1)
		{
			_inactiveForm = _forms[_forms.length - _backSteps].getForm();
			_backSteps--;
			_broadcastingForm = _forms[_forms.length - _backSteps].getForm();
			_forms[_forms.length - _backSteps].swapTo(_abg);
		} else {
			delete _abg.onRelease;
			_abg.removeMovieClip();
			_broadcastingForm = _inactiveForm;
		}
		if (_screenCapture) _screenCapture.dispose();
		_screenCapture = null;
	}
__________________
Hell is the possibility of sanity

Старый 02.01.2009, 14:14
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 82  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от wvxvw Посмотреть сообщение
...смысл ...в том, что либо BlurFilter, либо BitmapData.draw(), либо BitmapData.applyFilter() так в плеере реализован, что при определенном стечении обстоятельств эрорит... и чтобы с этим как-то бороться нужно иметь на руках исходники Флеш плеера, и их править...
Смысл в том, что просто хелп идиотский - о многом умалчивает или вообще не верно написан. Да и тут: зачем делать заливку битмапой, когда эту битмапу можно просто приаттачить?
Кстати, мой хинт - делать это в следующем кадре.

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ээээ... чего? в каком кадре? у меня всего 1 кадр...
Да и хелп тут ни при чем, этот метод спокойно работал до определенного момента, а потом, по непонятной причине изза него стал вылетать плеер а вместе с ним и браузер. Прийми как факт, нет в этом коде ничего ошибочного, а скомпилированый результат вешает плеер. Поверь, если ты посмотришь баг репорты в JIRA адобовской, то ты увидишь, что таких ситуаций сотни - просто для AVM2 их правят - а для AVM1 - они никого уже не интересуют.
__________________
Hell is the possibility of sanity

Старый 02.01.2009, 23:50
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 84  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Хелп еще очень причен - он не дает понять как все работает на самом деле и потому создается поле для ошибок. Хелп создает иллюзию, что в коде нет ошибок, а код на самом деле лишь "безошибочен" для абстрактного движка из хелпа, а не для реального. Просто для AVM1 уже найдены решения почти для всех глюков, а глюки AVM2 еще впереди и это нормально.

PS
Следующий кадр может быть и на однокадровом мувике

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Чесно говоря я не уверен... в Зен Буддизме есть такой способ объяснения: бамбуковой палкой по лбу это когда все уже перепробовано, а ученик все еще не понял... ну, смотри:
в AVM2 есть извесный баг: плеер вылетает вместе с браузером когда делается попытка перемотать звук на не загрузившуюся / не существующую позицию. В АVM1 есть баг - applyFilter() с некоторыми фильтрами приводит к тому, что плеер вылетает и вместе с ним браузер. Но есть разница: в AVM2 этот баг будут править, и, в итоге в каком-нибудь из апдейтов к (хочется верить) 10-му плееру этот баг все-таки исправят. А вот баг с фильтром не исправят уже никогда, потому что ты его даже запостить не сможешь, потому что некуда его запостить, и нет в природе людей, которые бы стали его исправлять. Потому что исходники Флеш плеера принадлежат Адоби, и их не интересует исправлять что либо в AVM1, потому что им это не нужно, и никто другой это делать не будет, потому что ни у кого другого исходников Флеш плеера нет.
А придумывать обходные пути, как можно было бы все-таки разблурить картинку - так их можно сколько угодно понавыдумывать. Например, не разблуривать ее вовсе, а запечатлеть как есть и отправить PHP скрипту, который бы ее разблурил и вернул Но это же бред! Точно такой же бред, как и решение разблурить картинку на другом кадре. А может еще скажешь по дате или звездам сверяться? Если понедельник, то не блурить, а если четверг - то самое то?
__________________
Hell is the possibility of sanity

Старый 03.01.2009, 00:34
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 86  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
не кормите тролля)

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

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
в итоге в каком-нибудь из апдейтов к (хочется верить) 10-му плееру этот баг все-таки исправят.
Десятый плеер еще осенью вышел.

Цитата:
Хелп создает иллюзию, что в коде нет ошибок, а код на самом деле лишь "безошибочен" для абстрактного движка из хелпа, а не для реального.
Не хелп а Копперфильд какой то прям =)

Ладно wvxvw и chingachgoog, вы что курите?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
@Nirth:
Если бы 11-й плеер вышел осенью, тогда моя фраза не имела бы смысла... а так у меня назревает встречный вопрос... а что вы пьете?
ЗЫ. Курю сигареты Noblesse - самая дешевая дрянь, которую можно купить в супере возле дома
__________________
Hell is the possibility of sanity

Старый 03.01.2009, 01:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 89  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Nirth Посмотреть сообщение
Ладно wvxvw и chingachgoog, вы что курите?
Ну индеец известно что курит, а вот Олежка, видимо, решил присоединиться

24000


Последний раз редактировалось etc; 03.01.2009 в 14:38.
Старый 03.01.2009, 01:37
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 90  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Клевета! я курю обычные сигареты, и ничего противозаконного в них нету Просто болею, вот и скучно, и делать нечего
__________________
Hell is the possibility of sanity

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

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

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


 


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


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