Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли повторить отрисовку спрайта как в сss несколько раз (http://www.flasher.ru/forum/showthread.php?t=207097)

kotyavo 24.03.2014 19:02

Можно ли повторить отрисовку спрайта как в сss несколько раз
 
добрый день, подскажите
можно ли, повторить отрисовку картинки как в сss несколько раз по x и y в as3
пример:
Код AS3:

.body { background :url(...) repeat-x;

У меня очень много окошек в приложении разных размеров и имеют схожий интерфейс.
Растягивать их как то не хочется, теряется внешний вид и привлекательность.

Akopalipsis 24.03.2014 19:16

Но на сколько я знаю, в css используется одна картинка, а при таком подходе не все до конца понятно ( мне ).
Код AS3:

var sprite:Sprite = new Sprite();
// тут его рисуем
var bitmapData:BitmapData = new BitmapData(sprite.width, sprite.height);
bitmapData.draw(sprite);
 
var shape:Shape = new Shape();
shape.graphics.beginBitmapFill(bitmapData);// тертий параметр метода beginBitmapFill повторение текстуры
// и тут дорисовываете


kotyavo 24.03.2014 19:29

Ага кажется то что нужно.
Еще такой момент, который меня давно мучает.

Есть скажем деталь размером 20px в ширину и 1000px высоту.

Мне нужно вывести этот элемент скажем только 500px в высоту, а остальные скажем 500px были бы не видны.

Akopalipsis 24.03.2014 19:30

Задать маску или scrollRect.

kotyavo 24.03.2014 19:37

чет я про маску и не сообразил
Код AS3:

var shape:Shape = new Shape();
shape.graphics.drawRect(0,0,25,500);
img.mask = shape;

а scrollRect честно даже не пользовался еще((

Большое спасибо, за помощь!

Akopalipsis 24.03.2014 19:56

Попробуйте для шейпа и для картинки выставить СacheAsBitmap = true.

Wolsh 24.03.2014 22:20

Если нет задачи скроллить деталь, то ни маска ни scrollRect не нужны. Надо просто отрисовать нужный ректангл, а не всю картинку.

Добавлено через 6 минут
Если использовать BitmapData#draw() то нужно создать битмапдату требуемого размера, а в draw() передать матрицу смещения к той области, которая должна попасть в отрисовку.


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

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