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

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

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

Регистрация: Sep 2006
Сообщений: 453
По умолчанию Замена залитой bitmapdata

Код AS3:
var sh:Sprite=new Sprite();
sh.graphics.beginBitmapFill(activeBitmapData,null,false);
sh.graphics.lineTo(0,0)
sh.graphics.lineTo(thisW,0)
sh.graphics.lineTo(thisW,thisH)
sh.graphics.lineTo(0,thisH)
sh.graphics.lineTo(0,0)
sh.graphics.endFill();
sh.addEventListener(MouseEvent.CLICK, mClBitmap)
addChild(sh)
Надо заменить activeBitmapData например на activeBitmapData2, не перерисовывая графику. beginBitmapFill по второму разу, почему-то не применяется.


Последний раз редактировалось 54321go; 05.01.2012 в 20:44.
Старый 05.01.2012, 21:12
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Можно с помощью BitmapData::copyPixels нарисовать activeBitmapData2 на битмап-дате activeBitmapData, тогда заливка картинки тоже изменится.

Но для вашего примера может лучше (вместо рисования) просто Bitmap использовать?
И менять его поле bitmapData?
Все равно область квадратная ведь.


Последний раз редактировалось expl; 05.01.2012 в 21:15.
Старый 06.01.2012, 00:47
54321go вне форума Посмотреть профиль Отправить личное сообщение для 54321go Найти все сообщения от 54321go
  № 3  
Ответить с цитированием
54321go

Регистрация: Sep 2006
Сообщений: 453
Цитата:
Сообщение от expl Посмотреть сообщение
Все равно область квадратная ведь.
должна быть не только квадрат, понял что удобней всего через clone() делать.

Старый 06.01.2012, 00:54
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 4  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
я проверял, тестирование показывает, что быстрее перерисовать BitmapData в graphics, чем в Bitmap менять bitmapData

Старый 06.01.2012, 02:04
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Зачем менять в Bitmap менять bitmapData, когда можно просто заменить содержимое activeBitmapData? Результат сразу будет отрисован.
Но не знаю, что будет быстрее, менять содержимое или перерисовывать, но такое вариант имеет место быть.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.01.2012, 02:22
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 6  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
логичнее использовать drawRect вместо lineTo, будет ещё быстрее.

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

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

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


 


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


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