![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Снова ламерский вопрос любителя...
Ситуация следующая: Есть ролик. Пользователь с помощью менюшки аттачит из библиотеки на сцену клипы. Клипы аттачатся внутрь контейнеров, помещенных на сцену вручную. Затем он как ему нужно меняет их размеры, положение прозрачность и цвет. Потом он это сохраняет, (SharedObject) чтоб при следующей загрузке ролика всё само приаттачилось и установилось на свои места с сохраненными размерами, прозрачностью, цветом... Всё это более менее коряво я сделал. Сохраняются координаты, размеры, прозрачность, есть или нет объект на сцене, но вот с сохранением цвета я конкретно уперся... Читал хэлпы, пользовал поиск по форуму, но так и не нашел ответа на свой вопрос: Как получить информацию о цвете контейнеров, для последующего сохранения её в SharedObject, и присвоения того же цвета при следующей загрузке ролика? Желтенькая кнопочка призвана вывести в трэйс информацию о цвете, так, как описано в хелпе... Но получаю я всегда undefined... Очень важно! Версия плеера не может быть выше 6 Прилагаю исходник. Клипы на сцену аттачатся нажатием надписей CLIP1 и CLIP2 в менюшке Не пинайте сильно за корявый код. Я правда любитель... Последний раз редактировалось gfdrf; 24.02.2009 в 20:46. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Странно.. Написали такой код, использовали getRGB как положено, применительно к объекту Color. Почему вдруг в ответственный момент Вы спрашиваете getRGB у объекта MovieClip? Нет у него такого метода. Потому и undefined. А цвет надо просто сохранять в свойстве контейнера каждый раз при изменении - когда делаете Color.setRGB - ну и сохраните этот ргб в персональном свойстве контейнера/мувика.
__________________
Reality.getBounds(this); |
|
|||||
|
Сохраняй значения ползунков управляющие цветом
![]() |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
KiL33, объектов -то много, сколько пользователь натаскает/наизменяет.
Пусть они сами и помнят свой цвет. Завести им свойство .rgb и записывать туда текущее значение, а при сохранении его и считывать. Кстати, неплохо бы и ползунки сделать реагирующими на реальный цвет "выделенного" объекта. А то цвет каждый раз слетает, становясь таким как зафиксировано в ползунках)).
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Wolsh, спасибо, попробую.
Я в принципе, когда писал сообщение, то подумал что наверно надо не у клипа спрашивать... Кстати, пробовал спрашивать у переменной my_color тоже безрезультатно.. Ну не могу я сообразить у кого спросить... Спросил у Вас ![]() А по поводу ползунков... Эх, неплохо было бы если б при щелчке по объекту они ставились как положено... Но я и это то еле осилил... Хотя, если я всёже осилю с Вашей задачу с цветом, то в принципе думаю, что потом из цвета, посчитать координаты ползунка, задача для меня гораздо более простая... KiL33 Если б объект был один, я бы именно так и сделал, сохранил бы значения ползунков, и всё. Но Wolsh прав. Объектов то много... UPD Болше часа пытаюсь по книжкам понять как Цитата:
Последний раз редактировалось gfdrf; 24.02.2009 в 23:22. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: 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); |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Ок. Спасибо.
К сожалению навертывается винт, и сейчас чуток не до флэша, бросился спасать всё, что нажито непосильным трудом Извините что не по теме.Завтра постараюсь разобраться в примере. И если не разберусь, снова побеспокою. Уж не обессудьте ![]() PS Всё понял ровно через 5 сек, после нажатия кнопки "отправить быстрый ответ" ![]() НО! ни в одной книжке, я не видел, чтоб было написано, что кроме стандартных свойств клипа, ему можно точно также, легким движением руки, назначить пользовательское свойство! Может я не те книжки читаю? ![]() Последний раз редактировалось gfdrf; 25.02.2009 в 00:12. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Ага, теперь то я конечно понимаю, ЧТО это...
Ну а так, делал, не до конца понимая ЧТО это и что я делаю. Делал потому что знал, что это работает по аналогии скажем с путем к мувику-кнопке, когда они вложен ещё в три клипа в глубину... пишем к нему путь через все его обертки, и всё работает... Ну а тут я бы сказал, что я считал это как бы переменной... И соответственно путем к ней. Ребята, вам книжки писать надо! Однозначно! Нормально, по человечески растолковали всё... За что и огромное Вам спасибо! А в книжках, то забыли, то перепутали, то упомянули вскользь... Вот у Гурского вчера вычитал типа " setRGB применяется очень редко, так как закрашивает клипы одним цветом..." и соответственно уделено ему там 5 строчек. Абсолютно почти то же самое что и в хелпе... Ну неправильно это по моему. Есть setRGB, значит надо рассмотреть его всесторонне, как и getRGB, чтоб до конца всё понятно было. Используется редко, но вот мне в самый раз. А почитать толком негде... Извините за лирику ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|