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

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

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

Регистрация: Sep 2006
Сообщений: 89
По умолчанию проблемма: макса для custom-курсора

Всем здраствуйте.

Не могу обойти следующие грабли:
нарисовал курсор в фотошопе (ч/б, даже еще хуже - 1 бит).
из него сделал маску - инвертировал, чуток подправил и хочу использовать во флеше.
Когда курсор и маску распологаю в слоях (в качестве image), делаю mask, ничего не происходит.
Маска точно состоит только из белого и черного...

Нашел во флеше (в разделе с описанием как сделать маску):
Place a filled shape, text, or an instance of a symbol on the mask layer. Flash ignores bitmaps, gradients, transparency, colors, and line styles in a mask layer. Any filled area is completely transparent in the mask; any nonfilled area is opaque.

Неужели игнорирует битмапы????

Подскажите плиз как это подружить, наверно есть простая AS-функция маскирующая один имадж другим по яркости (тривиальная задача ведь)...

Спасибо.


Последний раз редактировалось Denis Davidov; 17.05.2008 в 02:52.
Старый 17.05.2008, 03:25
Vertax вне форума Посмотреть профиль Отправить личное сообщение для Vertax Найти все сообщения от Vertax
  № 2  
Ответить с цитированием
Vertax

Регистрация: Oct 2005
Сообщений: 207
Не, во флеше маски определяются формой объекта. В данном случае для картинки (прозрачность не важна) форма - квадрат. Варианта по большому счету три:
1. Нарисовать маску во флеше.
2. (вариация первого) Трасировать картинку.
3. (Хардкорный) BitmapData и иже с ним.
Проще и лучше воспользоваться 1ым вариантом.

P.S. Какое отношение эта тема имеет к AS???

Старый 17.05.2008, 03:41
Denis Davidov вне форума Посмотреть профиль Отправить личное сообщение для Denis Davidov Найти все сообщения от Denis Davidov
  № 3  
Ответить с цитированием
Denis Davidov

Регистрация: Sep 2006
Сообщений: 89
Спасибо.

А можно пожалуйста наброски AS для второго варианта?
Т.е. если я буду пробегаться по картинке, как к ней обращаться как к массиву пикселей? должно быть что-то типа mybitmap.GetColor(x,y)? и Size(mybitmap)?
И продолжении - как это рисовать? Опять же что-то типа movieclip.DrawPixel(x,y,color)?

Спасибо за помощь...

з.ы. Я думал есть какая-нибудь функция и т.д. чтобы это решить... видимо что-то типо плясок с Bitmap Data

Старый 17.05.2008, 04:11
Vertax вне форума Посмотреть профиль Отправить личное сообщение для Vertax Найти все сообщения от Vertax
  № 4  
Ответить с цитированием
Vertax

Регистрация: Oct 2005
Сообщений: 207
2ой вариант без AS. Это Modify->Bitmap->Trace Bitmap.
Ну еже ли уж хочешь по трудному пути, то лови пример:
Код:
import flash.display.BitmapData;

B1 = new BitmapData(MASK._width, MASK._height, true, 0x00FFFFFF);
MASK.attachBitmap(B1, 0);
B1.draw(MASK);

B2 = new BitmapData(MASKING._width, MASKING._height, true, 0x00FFFFFF);
MASKING.attachBitmap(B2, 0);
B2.draw(MASKING);

MASKING._visible = false;

for (var i = 0; i < MASK._width; i++)
{
	for (var j = 0; j < MASK._height; j++)
	{
		if (B1.getPixel32(i, j) != 0) B1.setPixel32(i, j, B2.getPixel32(i + MASKING._x, j + MASKING._y));
	}
}

Старый 17.05.2008, 11:21
Denis Davidov вне форума Посмотреть профиль Отправить личное сообщение для Denis Davidov Найти все сообщения от Denis Davidov
  № 5  
Ответить с цитированием
Denis Davidov

Регистрация: Sep 2006
Сообщений: 89
Спасибо за код, понял что Modify->Bitmap->Trace Bitmap намного проще ))
только почему-то не могу его применить к объектам в библиотеке, хм...
Если не разберусь, то будет программировать AS....

p-s- разобрался, работает, все ок


Последний раз редактировалось Denis Davidov; 17.05.2008 в 11:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

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


 


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


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