Показать сообщение отдельно
Старый 29.06.2009, 17:33
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 13  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Да просто нужно взять прямоугольную видимую область нарисованного объекта для scale9grid.
на нарисованном объекте нужно програмно дорисовать прямоугольник, который будет чуть больше видимой области и не будет никаких Error
Код AS3:
btn1.addEventListener(MouseEvent.CLICK, btnClickHandler);
btn2.addEventListener(MouseEvent.CLICK, btnClickHandler);
btn3.addEventListener(MouseEvent.CLICK, btnClickHandler);
var gridRect:Rectangle = mc.getRect(mc);
mc.graphics.lineStyle(0,0,0);//mc.graphics.lineStyle(0,0,0);//потом замените
mc.graphics.drawRect(gridRect.x - 1, gridRect.y -1 ,gridRect.width+2, gridRect.height+2);
trace(mc.getRect(mc));
 
mc.scale9Grid = gridRect ;
 
function btnClickHandler(evt:MouseEvent):void{
	trace(evt.target.name);
	var scale:Number;
	if (evt.target.name=='btn1') scale = 0.5;
	if (evt.target.name=='btn2') scale = 1;
	if (evt.target.name=='btn3') scale = 1.5;
	mc.scaleX = mc.scaleY = scale;
}
http://www.murmadillo.tut.su/m/scale9gridTrue.rar