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

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

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

Регистрация: Mar 2006
Сообщений: 92
По умолчанию Помогите разобраться с getRGB

Снова ламерский вопрос любителя...

Ситуация следующая: Есть ролик. Пользователь с помощью менюшки аттачит из библиотеки на сцену клипы.
Клипы аттачатся внутрь контейнеров, помещенных на сцену вручную.
Затем он как ему нужно меняет их размеры, положение прозрачность и цвет.
Потом он это сохраняет, (SharedObject) чтоб при следующей загрузке ролика всё само приаттачилось и установилось на свои места с сохраненными размерами, прозрачностью, цветом...
Всё это более менее коряво я сделал.
Сохраняются координаты, размеры, прозрачность, есть или нет объект на сцене, но вот с сохранением цвета я конкретно уперся...
Читал хэлпы, пользовал поиск по форуму, но так и не нашел ответа на свой вопрос:
Как получить информацию о цвете контейнеров, для последующего сохранения её в SharedObject, и присвоения того же цвета при следующей загрузке ролика?

Желтенькая кнопочка призвана вывести в трэйс информацию о цвете, так, как описано в хелпе...
Но получаю я всегда undefined...

Очень важно! Версия плеера не может быть выше 6

Прилагаю исходник.
Клипы на сцену аттачатся нажатием надписей CLIP1 и CLIP2 в менюшке
Не пинайте сильно за корявый код. Я правда любитель...
Вложения
Тип файла: rar getRGB primer.rar (28.0 Кб, 60 просмотров)


Последний раз редактировалось gfdrf; 24.02.2009 в 20:46.
Старый 24.02.2009, 21:15
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Странно.. Написали такой код, использовали getRGB как положено, применительно к объекту Color. Почему вдруг в ответственный момент Вы спрашиваете getRGB у объекта MovieClip? Нет у него такого метода. Потому и undefined. А цвет надо просто сохранять в свойстве контейнера каждый раз при изменении - когда делаете Color.setRGB - ну и сохраните этот ргб в персональном свойстве контейнера/мувика.
__________________
Reality.getBounds(this);

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Сохраняй значения ползунков управляющие цветом

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
KiL33, объектов -то много, сколько пользователь натаскает/наизменяет.
Пусть они сами и помнят свой цвет. Завести им свойство .rgb и записывать туда текущее значение, а при сохранении его и считывать.
Кстати, неплохо бы и ползунки сделать реагирующими на реальный цвет "выделенного" объекта. А то цвет каждый раз слетает, становясь таким как зафиксировано в ползунках)).
__________________
Reality.getBounds(this);

Старый 24.02.2009, 21:57
gfdrf вне форума Посмотреть профиль Отправить личное сообщение для gfdrf Найти все сообщения от gfdrf
  № 5  
Ответить с цитированием
gfdrf

Регистрация: Mar 2006
Сообщений: 92
Wolsh, спасибо, попробую.
Я в принципе, когда писал сообщение, то подумал что наверно надо не у клипа спрашивать...
Кстати, пробовал спрашивать у переменной my_color тоже безрезультатно..
Ну не могу я сообразить у кого спросить...
Спросил у Вас
А по поводу ползунков... Эх, неплохо было бы если б при щелчке по объекту они ставились как положено... Но я и это то еле осилил... Хотя, если я всёже осилю с Вашей задачу с цветом, то в принципе думаю, что потом из цвета, посчитать координаты ползунка, задача для меня гораздо более простая...

KiL33
Если б объект был один, я бы именно так и сделал, сохранил бы значения ползунков, и всё.
Но Wolsh прав. Объектов то много...

UPD
Болше часа пытаюсь по книжкам понять как
Цитата:
Завести им свойство .rgb
Или я не понял, и речь шла о чем то другом? Как завести свойство клипу?


Последний раз редактировалось gfdrf; 24.02.2009 в 23:22.
Старый 24.02.2009, 23:25
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну ОК, вот так измените этот кусок и уже будет цвет, цвет выделенного объекта)))
Надо только начальный цвет тоже задать - вдруг юзера цвет устроит и он не будет двигать движки - undefined))
Код:
///////////////////////////////////////////////Container Colour

onMouseMove = function () {
	var my_color:Color = new Color(changeobject);
	menubar.sliderset.rslider.change = function(par:Number):Void  {
		var old_color:Number = my_color.getRGB() & 0x00FFFF;
		var r_c:Number = par << 16;
		var new_color:Number = old_color | r_c;
		my_color.setRGB(new_color);
		changeobject._rgb = new_color;
	};
	menubar.sliderset.gslider.change = function(par:Number):Void  {
		var old_color:Number = my_color.getRGB() & 0xFF00FF;
		var g_c:Number = par << 8;
		var new_color:Number = old_color | g_c;
		my_color.setRGB(new_color);
		changeobject._rgb = new_color;
	};
	menubar.sliderset.bslider.change = function(par:Number):Void  {
		var old_color:Number = my_color.getRGB() & 0xFFFF00;
		var b_c:Number = par;
		var new_color:Number = old_color | b_c;
		my_color.setRGB(new_color);
		changeobject._rgb = new_color;
	};
	
};

test.onPress = function() {
var myValue:String = changeobject._rgb.toString(16);
while(myValue.length<6) myValue = "0"+myValue;
// trace the color value
trace(myValue);
}
__________________
Reality.getBounds(this);

Старый 25.02.2009, 00:05
gfdrf вне форума Посмотреть профиль Отправить личное сообщение для gfdrf Найти все сообщения от gfdrf
  № 7  
Ответить с цитированием
gfdrf

Регистрация: Mar 2006
Сообщений: 92
Ок. Спасибо.
К сожалению навертывается винт, и сейчас чуток не до флэша, бросился спасать всё, что нажито непосильным трудом Извините что не по теме.
Завтра постараюсь разобраться в примере.
И если не разберусь, снова побеспокою.
Уж не обессудьте

PS
Всё понял ровно через 5 сек, после нажатия кнопки "отправить быстрый ответ"

НО! ни в одной книжке, я не видел, чтоб было написано, что кроме стандартных свойств клипа, ему можно точно также, легким движением руки, назначить пользовательское свойство! Может я не те книжки читаю?


Последний раз редактировалось gfdrf; 25.02.2009 в 00:12.
Старый 25.02.2009, 02:07
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 8  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
экземпляру любого динамического класса можно назначать пользовательское свойство "легким движением руки"
MovieClip в AS2 динамический )
__________________
сайт, vk

Старый 25.02.2009, 11:07
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ага, gfdrf, что тогда по-вашему menubar.sliderset.rslider.change? Это всё - стандартные свойства класса МувиКлип? =)))
Удачки.
__________________
Reality.getBounds(this);

Старый 25.02.2009, 15:37
gfdrf вне форума Посмотреть профиль Отправить личное сообщение для gfdrf Найти все сообщения от gfdrf
  № 10  
Ответить с цитированием
gfdrf

Регистрация: Mar 2006
Сообщений: 92
Ага, теперь то я конечно понимаю, ЧТО это...
Ну а так, делал, не до конца понимая ЧТО это и что я делаю.
Делал потому что знал, что это работает по аналогии скажем с путем к мувику-кнопке, когда они вложен ещё в три клипа в глубину... пишем к нему путь через все его обертки, и всё работает...
Ну а тут я бы сказал, что я считал это как бы переменной... И соответственно путем к ней.

Ребята, вам книжки писать надо! Однозначно! Нормально, по человечески растолковали всё... За что и огромное Вам спасибо!
А в книжках, то забыли, то перепутали, то упомянули вскользь... Вот у Гурского вчера вычитал типа " setRGB применяется очень редко, так как закрашивает клипы одним цветом..." и соответственно уделено ему там 5 строчек. Абсолютно почти то же самое что и в хелпе...
Ну неправильно это по моему.
Есть setRGB, значит надо рассмотреть его всесторонне, как и getRGB, чтоб до конца всё понятно было. Используется редко, но вот мне в самый раз. А почитать толком негде...
Извините за лирику

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

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

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


 


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


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