Тема: BitmapData.draw()
Показать сообщение отдельно
Старый 29.08.2007, 19:04
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 1  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
По умолчанию BitmapData.draw()

На таймлайне (где-нибудь за видимой областью) символ targ (кружочек, с точкой отсчета в левом верхнем углу и сторонами 100х100 для простоты).
Собственно я его масштабирую (_xscale) и пытаюсь снять с него скриншот:

Код:
import flash.display.BitmapData;

myBitmapData = new BitmapData(500, 500, false, 0x00CCCCCC);

mc = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
targ._xscale=targ._yscale=500


mc.onPress = function() {
    myBitmapData.draw(targ)
	trace(targ._width+" "+targ._xscale)
}
Скриншот снимается с НЕМАСШТАБИРОВАННОГО клипа (хотя он реально увеличился)

Далее, усложняю.
Помещаю в targ (пустой) клип-кружочек (все тот же) с именем ttt

Код:
import flash.display.BitmapData;

myBitmapData = new BitmapData(500, 500, false, 0x00CCCCCC);

mc = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(myBitmapData, this.getNextHighestDepth());
targ.ttt._xscale=targ.ttt._yscale=500


mc.onPress = function() {
    myBitmapData.draw(targ)
	trace(targ._width+" "+targ._xscale)
}
Все! Теперь скриншот как и задумывалось показывает увеличенный кружочек.

Вопрос: как же все-таки действует метод draw()???