Показать сообщение отдельно
Старый 17.05.2010, 16:16
warez_men вне форума Посмотреть профиль Отправить личное сообщение для warez_men Найти все сообщения от warez_men
  № 1  
Ответить с цитированием
warez_men

Регистрация: Jan 2010
Сообщений: 25
По умолчанию Как правильно от рисовать Клип в BitmapData?

Делаю так

Код AS3:
package
{
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.MouseEvent;
	import flash.filters.GlowFilter;
	import flash.geom.Matrix;
	import flash.geom.Point;
 
	public class main extends Sprite
	{
		private var bmpd1:BitmapData;
		private var bmpd2:BitmapData;
		private var star1:Star;
		private var star2:Star;
		private var ddd1:ddd;
 
		public function main()
		{
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
 
			//создаем две звезды и добавляем их в список отображения
			star1 = new Star(50);
			addChild(star1);
 
 
			var ddd1= new ddd();
			addChild(ddd1 as Sprite);
 
			// создаем два растровых изображения
			bmpd1 = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0);			
			bmpd2 = bmpd1.clone();
			stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMoving);
		}
 
		private function onMouseMoving(event:MouseEvent):void
		{
			// перемещаем star1 в позицию курсора мыши
			star1.x = mouseX;
			star1.y = mouseY;
 
			// очищаем растровые изображения
			bmpd1.fillRect(bmpd1.rect, 0);
			bmpd2.fillRect(bmpd2.rect, 0);
 
 
			bmpd1.draw(star1, new Matrix(1, 0, 0, 1, star1.x, star1.y));
			bmpd2.draw(ddd1 as Sprite, new Matrix(1, 0, 0, 1, 200, 200));
 
			// проверяем столкновение
			if(bmpd1.hitTest(new Point(), 255, bmpd2, new Point(), 255))
			{
				star1.filters = [new GlowFilter()];
				//star2.filters = [new GlowFilter()];
			}
			else
			{
				star1.filters = [];
			}
		}
	}
 
 
}
вот так ругается
ArgumentError: Error #2005: Parameter 0 is of the incorrect type. Should be type IBitmapDrawable.
at flash.display::BitmapData/draw()
at main/onMouseMoving()

Вот проект целиком collisionTest.rar