Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Заливка изображением (http://www.flasher.ru/forum/showthread.php?t=210468)

Dzzirtuoz 19.03.2015 04:14

Заливка изображением
 
Код AS3:

        border.graphics.beginBitmapFill(lineBottomBD);
        border.graphics.drawRect(0, 600-lineBottomBD.height, 800, lineBottomBD.height);
        border.graphics.endFill();

Заливка работает не так, как ожидалось. Вместо того, чтоб начинать заливать в точке 0, 600-lineBottomBD.height , оно начинает заливать с точки 0, 0 но при этом отображает указанную зону 0, 600-lineBottomBD.height, 800, lineBottomBD.height .
Как реализовать задуманное?

Добавлено через 40 минут
Нашел решение, хоть и не особо приятное. Вместо того, чтоб указывать нужную точку откуда нужно делать заливку, указываю само расположение объекта на сцене.
Код AS3:

        bottomLine.y = 600 - lineBottomBD.height;
        bottomLine.graphics.beginBitmapFill(lineBottomBD);
        bottomLine.graphics.drawRect(0, 0, 800, lineBottomBD.height);
        bottomLine.graphics.endFill();

Но при этом приходится создавать лишние переменные, так как до этого в border делалось заливалось несколько разных зон в разных местах. Пока буду юзать так, но может есть у кого на уме альтернативное решение, чтоб не создавать лишние переменные?

callme 19.03.2015 08:59

В первом примере попробуйте заменить
Код AS3:

bottomLine.graphics.beginBitmapFill(lineBottomBD);

на
Код AS3:

var matrix:Matrix = new Matrix();
matrix.translate(0, 600 - lineBottomBD.height);
bottomLine.graphics.beginBitmapFill(lineBottomBD, matrix);


Dzzirtuoz 22.03.2015 02:31

Огромное спасибо, работает все быстро и красиво при минимальном кол-во кода.


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

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