Показать сообщение отдельно
Старый 12.09.2007, 15:12
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 6  
Ответить с цитированием
aQuestion
Banned
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
похоже он пересчитывает их каждый раз, когда меняется альфа. в итоге, погонял её туда/сюда, и в РГБ-каналах - мусор.
Код:
// gradient; skip
import flash.display.*
import flash.geom.*
this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
with (gradient_mc) {
    matrix = new Matrix();
    matrix.createGradientBox(100, 100, Math.PI, -100, -100);
    beginGradientFill("radial", [0xFF0000, 0x0000FF], [100, 100], [0, 0xFF],
		matrix, "reflect", "linearRGB", 0.9);
    moveTo(0, 0); lineTo(0, 200); lineTo(200, 200); lineTo(200, 0); endFill();
}
gradient_mc._visible = false;

// test
this.createEmptyMovieClip("bitmap_mc", this.getNextHighestDepth());
var bmp = new BitmapData(200, 200); bmp.draw (gradient_mc);
var tmp = new BitmapData(200, 200);
bitmap_mc.attachBitmap(bmp, bitmap_mc.getNextHighestDepth());
onMouseUp = function () {
	// to very transparent
	tmp.fillRect(tmp.rectangle, 0);
	tmp.draw(bmp, new Matrix (), new ColorTransform (1,1,1, 2/255, 0,0,0,0)); bmp.draw(tmp);
	// back to opaque
	tmp.fillRect(tmp.rectangle, 0);
	tmp.draw(bmp, new Matrix (), new ColorTransform (1,1,1,0,0,0,0, 255)); bmp.draw(tmp);
}
вывод: альфой злоупотреблять низзя.


Последний раз редактировалось aQuestion; 12.09.2007 в 15:17.