Показать сообщение отдельно
Старый 20.07.2010, 18:56
Dr_Bra вне форума Посмотреть профиль Отправить личное сообщение для Dr_Bra Посетить домашнюю страницу Dr_Bra Найти все сообщения от Dr_Bra
  № 1  
Ответить с цитированием
Dr_Bra
 
Аватар для Dr_Bra

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию програмное сглаживаение растрового изображения

Добрый день, друзья!
Я сделал пример, в котором гружу из библиотеки 2 иконки, к которым прям в библиотеке и применил сглаживание. А третью иконку грузим лоадером, задаем ей параметры сглаживания, но увы ничего не получается. При движении одна иконка по прежнему "трясется" . Кому интересно, выкладываю исходник.
вот такой код:
Код AS3:
package  
{
	import flash.display.Sprite;
	import flash.display.Bitmap;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.events.Event;
 
	public class Main extends Sprite 
	{
		private static const SPEED_X:Number=30;
		private static const SPEED_Y:Number=60;
		private var _w:Number;
		private var _l1xpos:Number;
		private var _layer1;
		private var _stage;
		private var _p2;
		private var _p3;
		private var _sprite:Sprite;
		private var _iconLoader:Loader;
		private var _bitmap:Bitmap;
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			_stage = stage;
			_w=_stage.stageWidth;
 
			_layer1=new Full_tree();
			_stage.addChild(_layer1);
			_layer1.x=stage.stageWidth/2;
			_layer1.y=stage.stageHeight;
 
			startMove();// начинаем движение объектов
 
			_sprite=new Sprite();
			_layer1.i1.iIn.addChild(_sprite);
			_iconLoader=new Loader();
			_iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, theSmoothing);
			_iconLoader.load(new URLRequest("persons/1/icon.jpg"));
 
			_p2=new P2();
			_layer1.i2.iIn.addChild(_p2);
 
			_p3=new P3();
			_layer1.i3.iIn.addChild(_p3);
		}	
		private function theSmoothing(evt:Event):void
			{
				_bitmap = Bitmap(_iconLoader.content);
				_bitmap.smoothing = true;
				_sprite.addChild(_bitmap);
			}
 
		private function startMove():void
		{
			_stage.addEventListener(Event.ENTER_FRAME, checkMouse);
		}		
		private function checkMouse(evt:Event):void
		{
			_l1xpos = _w/2-(_stage.mouseX-_w/2);
			_layer1.x +=(_l1xpos-_layer1.x)/SPEED_X; 
		}
	}
}
Подскажите, в чем дело?