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

Регистрация: Sep 2010
Сообщений: 14
По умолчанию отмена старой отрисовки шейпов

Привет всем!
значит наваял класс для хинта, показывается так

Код AS3:
 
public class exHint extends Sprite
{
	private var bg:Shape;
	private var fg:Shape;
	private var text:TextField;
.................
public function Show(r:Rectangle, msg:String):void
		{
			if ( show ) return;
			if (contains(bg)) removeChild(bg);
			if (contains(fg)) removeChild(fg);
			if (contains(text)) removeChild(text);
 
			rect = r;
			x = r.left, y = r.top;
 
			text.text = msg;
			text.width = r.width - 8;			
			show = true;
 
			text.alpha = 0;
			bg.alpha = 0;
			fg.alpha = 0;
 
			bg.graphics.beginFill(data.Colors.hint_brd,.4);
			bg.graphics.drawRoundRect(0, 0, rect.width, text.textHeight+5+8, 10, 10);
			bg.graphics.endFill();
 
			fg.graphics.beginFill(data.Colors.hint_wnd,1);
			fg.graphics.drawRoundRect(4, 4, rect.width-8, text.textHeight+5, 10, 10);
			fg.graphics.endFill();
 
			addChild(bg);
			addChild(fg);
			addChild(text);
			timer.reset();
			timer.start();
			MainApp.addChild(this);
		}
собственно в r(Rectangle) указывается где рисовать окно подсказки, но обнаружилась неприятная странность: при первом показе - все пучком, а при последующих - видно размеры предыдущих показов, т.е. если предыдущее окно было больше - то оно на следующем маленьком хинте тоже отрисовывается

в чем могут быть причины?

ЗЫ:в таймере увеличивается или уменьшается альфа шейпов и текста