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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.03.2007, 19:15
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию BitmapData.merge() Наложение прозрачной картинки

Код:
function __draw(xx:Number, yy:Number):Void {
		__layer2.clear();
		drawCircle(__layer2, xx, yy, 20);
		t_bmpd.dispose();
		t_bmpd = new BitmapData(40+xx, 40+yy, true, 0x00ffffff);
		t_bmpd.draw(__layer2);
		__bmpd.merge(t_bmpd, new Rectangle(xx-20, yy-20, 40, 40), new Point(xx-20, yy-20), 256, 256, 256, 256);
		__layer1.clear();
		__layer1.beginBitmapFill(__bmpd, new Matrix(), true);
		__layer1.moveTo(0, 0);
		__layer1.lineTo(500, 0);
		__layer1.lineTo(500, 300);
		__layer1.lineTo(0, 300);
		__layer1.lineTo(0, 0);
		__layer1.endFill();
	}
__draw - функция, вызывается при движении "кисточки" и получает координаты курсора.
__layer2 - клип, где созается временная картинка "кисточка"
drawCircle - функция, рисующая круг
t_bmpd - битмапДата, куда записывается, что было нарисовано в __layer2
__bmpd - битмапДата, куда записывается суммированный результат.
__layer1 - клип, закрашиваемый с использованием __bmpd.

Проблема - при наложении прозрачной области из первой битмапдаты на вторую получается опять прозрачная. А надо, чтобы оставалось, то, что было.
Помогите, пожалста разобраться... я чего-то никак не соображу
Заранее спасибо.
__________________
Hell is the possibility of sanity

Старый 20.03.2007, 19:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от wvxvw
Проблема - при наложении прозрачной области из первой битмапдаты на вторую получается опять прозрачная. А надо, чтобы оставалось, то, что было.
Мне кажется, что здесь противоречие, нет?

Старый 20.03.2007, 19:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ок, да, не совсем понятно выразился:
* При наложении прозрачной области из перой битмапДаты на непрозрачную область из второй битмапдаты получаю прозрачную, а хочу получить ту, которая была до merge().
__________________
Hell is the possibility of sanity

Старый 20.03.2007, 19:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Что-то мне кажется, что для alpha тебе надо 0 написать.

Старый 20.03.2007, 19:48
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Если пишу 0, то вообще никакого наложения не происходит =/ (т.е. он все пикселы добавляет, как будто они прозрачные)
__________________
Hell is the possibility of sanity

Старый 20.03.2007, 20:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Тогда тебе, возможно, нужен copyPixels.

Старый 20.03.2007, 20:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Спасибо, да, это то, что нужно.
__________________
Hell is the possibility of sanity

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

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

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


 


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


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