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

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

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

Регистрация: Apr 2014
Сообщений: 17
По умолчанию Заливка изображением

Код 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 делалось заливалось несколько разных зон в разных местах. Пока буду юзать так, но может есть у кого на уме альтернативное решение, чтоб не создавать лишние переменные?


Последний раз редактировалось Dzzirtuoz; 19.03.2015 в 04:56.
Старый 19.03.2015, 08:59
callme вне форума Посмотреть профиль Отправить личное сообщение для callme Найти все сообщения от callme
  № 2  
Ответить с цитированием
callme
 
Аватар для callme

Регистрация: Dec 2014
Сообщений: 312
В первом примере попробуйте заменить
Код AS3:
bottomLine.graphics.beginBitmapFill(lineBottomBD);
на
Код AS3:
var matrix:Matrix = new Matrix();
matrix.translate(0, 600 - lineBottomBD.height);
bottomLine.graphics.beginBitmapFill(lineBottomBD, matrix);

Старый 22.03.2015, 02:31
Dzzirtuoz вне форума Посмотреть профиль Отправить личное сообщение для Dzzirtuoz Найти все сообщения от Dzzirtuoz
  № 3  
Ответить с цитированием
Dzzirtuoz

Регистрация: Apr 2014
Сообщений: 17
Огромное спасибо, работает все быстро и красиво при минимальном кол-во кода.

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

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

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


 


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


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