Показать сообщение отдельно
Старый 13.01.2014, 18:46
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 3  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Есть такая бага, как решается: не трансформировать и смешивать в один проход
Код AS3:
		private var picBD:BitmapData;
		private var picTemp:BitmapData;
		private var picBM:Bitmap;
 
		public function Main ():void
		{
			picBD = new BitmapData(600, 600, true, 0);
			picBM = new Bitmap(picBD, "auto", true);
			picTemp = new BitmapData(600, 600, true, 0);
			addChild(picBM);
 
			var tr:Matrix         = new Matrix();
			var drawIm:BitmapData = (new singleSp as Bitmap).bitmapData;
 
			for (var i:int = 0; i < 30; i++)
			{
				var scale:Number = 0.3 + Math.random() * 0.8;
				tr.setTo(1, 0, 0, 1, 0, 0);
				tr.scale(scale, scale);
				tr.rotate(Math.random() * 2);
				tr.tx = Math.random() * 150 + 150;
				tr.ty = Math.random() * 150;
 
				picTemp.draw(drawIm, tr, null, null, null, true);
				picBD.draw(picTemp, null, new ColorTransform(1, 1, 1, 0.4), "invert");
				picTemp.fillRect(picTemp.rect, 0);
			}
		}