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

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

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

Регистрация: Jul 2015
Сообщений: 10
По умолчанию transform.colorTransform перекрывает lineStyle()

Здравствуйте.
Использование переменной transform класса colorTransform закрашивает обводку которую создаёт метод graphics.lineStyle(). Можно ли сделать так что бы только у фигуры изменился цвет, а обводка осталась прежней (чёрного цвета)? Заранее благодарю за ответ.

Код AS3:
// Наша фигура
card = new Sprite(); 
// Указываем обводку и ёё толщину
card.graphics.lineStyle(1);
card.graphics.beginFill(0xCCCCCC, 1);
card.graphics.drawRoundRect(350, 220, 100, 150, 4);
addChild(card);
 
// Где-то в получателе события
var redTransform:ColorTransform = new ColorTransform();
redTransform.color = 0xFF0000;
// После выполнения этой строки, обводка закрашивается в красный цвет
card.transform.colorTransform = redTransform;


Последний раз редактировалось GoodModeSt; 13.10.2015 в 08:56.
Старый 11.10.2015, 12:12
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
выноси обводку в отдельный спрайт и рисуй поверх card

Старый 11.10.2015, 13:06
GoodModeSt вне форума Посмотреть профиль Отправить личное сообщение для GoodModeSt Найти все сообщения от GoodModeSt
  № 3  
Ответить с цитированием
GoodModeSt

Регистрация: Jul 2015
Сообщений: 10
Целый спрайт для обводки. Это вынужденная мера или это считается нормальной практикой программирования?

Старый 11.10.2015, 13:11
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Флэш применяет трансформацию ко всему содержимому спрайта.Он не разделяет обводку/заливку.А почему бы не отрисовать заново заливку новым цветом с прозрачным lineStyle?

Старый 11.10.2015, 13:20
GoodModeSt вне форума Посмотреть профиль Отправить личное сообщение для GoodModeSt Найти все сообщения от GoodModeSt
  № 5  
Ответить с цитированием
GoodModeSt

Регистрация: Jul 2015
Сообщений: 10
Цитата:
Флэш применяет трансформацию ко всему содержимому спрайта
Спасибо, теперь буду знать. Отрисовать заливку заново можно (как я и делал раньше), но я решил найти другой путь, что бы не создавать лишних экземпляров класса Sprite и не загружать ими память приложения.


Последний раз редактировалось GoodModeSt; 13.10.2015 в 08:58.
Старый 11.10.2015, 13:52
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 6  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от GoodModeSt Посмотреть сообщение
что бы не создавать лишних экземпляров класса Sprite и не загружать ими память приложения.
Это решается с помощью cacheAsBitmap для родительского контейнера вложенных спрайтов.
__________________
return this...

Старый 11.10.2015, 15:13
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 7  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Отдельный спрайт с контуром с точки зрения производительности и элегантности лучше повторной перерисовки контура (заливки).
И да, cacheAsBitmap придется кстати.
__________________
Поймай яблоко 2!

Старый 11.10.2015, 15:54
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 8  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Раз уж насчёт производительности зашла речь, то зачем тут Sprite? Отрисовывать графику может Shape.
__________________
There is no thing in this world that is not simple.

Старый 11.10.2015, 16:00
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 9  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Согласен.
__________________
Поймай яблоко 2!

Старый 13.10.2015, 08:46
GoodModeSt вне форума Посмотреть профиль Отправить личное сообщение для GoodModeSt Найти все сообщения от GoodModeSt
  № 10  
Ответить с цитированием
GoodModeSt

Регистрация: Jul 2015
Сообщений: 10
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Раз уж насчёт производительности зашла речь, то зачем тут Sprite? Отрисовывать графику может Shape.
Увы экземпляры класса Shape не могут являться получателями события.

Цитата:
Сообщение от AlexCooper Посмотреть сообщение
Это решается с помощью cacheAsBitmap для родительского контейнера вложенных спрайтов.
Спасибо ещё раз.

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

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

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


 


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


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