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

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

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

Регистрация: Mar 2012
Сообщений: 2
По умолчанию Заливка символа (объекта)

Здравствуйте!
Собственно, описанная тут проблема возникла и у меня.

У меня есть двумерный массив экземпляров МувиКлипа (напр field). Нужно програмно изменять цвет заливки, не трогая контур (обводку).

Я посидел поразбирался. Создал в МувиКлипе field два МувиКлипа fieldBG и fieldBORDER, которые, соответственно, содержат саму заливку и контур.

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

Ребята, я новичок в AS, подскажите как мне правильней разрешить проблему?
Можно ли не создавать два массива, а как-то обратиться через field к его fieldBG, ведь он вроде как дочерний МувиКлип field-а?

Вобщем, объясните, пожалуйста, подробнее реализацию вопроса из вышеприведенной ссылки...

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

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Вам нужен только один массив (лучше даже вектор) с мувиклипами типа field.
Задаете нужному элементу (в вашем случае это заливка) instance name.
Вот так:

(контур преобразовывать во что-то не обязательно)
А потом проходим по массиву и получаем fieldBG с помощью метода getChildByName.

Например, так:

Код AS3:
const COLOR : uint = 0XFF00FF;// ваш цвет
var fields : Vector.<MovieClip> = ... // получаете ваши клипы
var numFields : uint = fields.length;
while(numFields--){
  var fields : MovieClip = fields[numFields];
  var fieldBg : DisplayObject = field.getChildByName("fieldBG");
  // а потом уже меняем цвет
  var colorTransform : ColorTransform = new ColorTansform();
  colorTransform.color = COLOR; 
  fieldBg.transform.colorTransform = colorTransform;
}
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.


Последний раз редактировалось ChuwY; 14.03.2012 в 05:33.
Старый 14.03.2012, 06:11
instead вне форума Посмотреть профиль Отправить личное сообщение для instead Найти все сообщения от instead
  № 3  
Ответить с цитированием
instead

Регистрация: Mar 2012
Сообщений: 2
Жаль картинка ваша не работает, но все равно большое спасибо!
Вроде получилось

Попрошу пока что не удалять тему, а то вопросы есть в голове но выразить пока не могу
Изображения
 

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

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

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


 


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


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