![]() |
Вывод части изображения в компоненте
Чтобы не плодить кучу картинок, решил все значки поместить на один длинный PNG (15 х 150) и выводить часть этого изображения в зависимости от данных, т. е. просто перемещать PNG размещая нужный значок напротив зоны видимости (15 х 15). Не получается спрятать остальные значки, они тоже выводятся. Как их спрятать?
Код AS3:
Код AS3:
|
Не проще ли на pure as3 написать "вырезатель" нужной картики, bitmapData & bitmap ,
|
Да есть ещё как минимум 5 способов это сделать. Но хотелось бы знать как это сделать на Flex.
|
Просто это будет очень рессурсоемко ,
а в вашем случае, вам нужно двигать не s:Image , а его source |
Я вот сейчас сделал так:
Код AS3:
|
тогда уж проще было :
Код AS3:
Можно сделать функцию у какого-нибудь менеджера которая будет возвращать вам нужный объект. Код AS3:
|
С TileManager очень интересно. Спс.
А вот со спрайтами и шейпами я пробовал - вообще ничего не выводит. Видимо их нужно помещать на сцену, а в флексе это опять же не просто. |
Цитата:
Код AS3:
|
Цитата:
|
Цитата:
"Но хотелось бы знать как это сделать с использованием MXML компонентов с минимальным участием as3." |
Стандартными средствами Image можно сделать только для первого тайла. Или запихать таки в Group картинку и обрезать ее самой группой установив clipAndEnableScrolling (или на картинку scrollRect нацепить). Это если совсем без AS3. А так вариантов куча. Если упираться в Image (зачем вам, кстати, Image? BitmapImage за глаза хватит), можно, например, написать contentLoader который вернет нужную картинку. Можно залить картинкой с матрицей квадрат в graphics той Group, что вы уже создали (Group там тоже избыточен). И т.д.
|
Ну вот и ответ который я ждал с самого начала:)
Кстати, а нельзя подробнее в каких случаях Image лучше использовать чем BitmapImage? Ну второй менее ресурсоемок, свойств у него меньше, но в каких типичных случаях он не может заменить Image? |
1. Когда необходимо отображать прелоадер.
2. Когда нужна рамка для картинки. |
| Часовой пояс GMT +4, время: 19:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.